【问题标题】:Using MSTest in an open source project在开源项目中使用 MSTest
【发布时间】:2010-11-24 17:29:27
【问题描述】:

我和一位同事正在编写一个我们打算开源的应用程序,并试图决定一个测试框架。如果没有 NUnit 的集成(我们中的一个有 resharper,而另一个没有),我们倾向于 MSTest。但是,如果大多数开发开源 .net 应用程序的人只有 Visual Studio 的快捷版,我们可能不得不改变主意。

您使用什么版本的 VS,MSTest 是否会让您转而使用开源项目?

【问题讨论】:

    标签: visual-studio unit-testing


    【解决方案1】:

    就我个人而言,我使用的是 VS:TS,所以不,MSTest 中的测试单元不会为我关闭任何东西;)另一方面,您很可能会从大多数人那里得到不同的答案,也不是专业程序员(为钱工作并不意味着您不能使用/从事操作系统项目)(问题是,您会在这里找到多少)。
    但是,如果我理解正确,您不想使用 nUnit,因为它没有与 VS08 集成,您可以查看这些项目:
    1.http://sourceforge.net/projects/visualnunit/
    2.http://sourceforge.net/projects/nunitaddin/
    将 NUnit 与 VS08 集成似乎不是最大的问题,另一方面,让 VS 内置测试框架可能会有点困难,至少对某些人来说是这样。

    【讨论】:

    • 另一位开发人员尝试了visualnunit,但它锁定了他的VS。我们不知道有一个开源版本的 TestDriven.Net - 谢谢!
    【解决方案2】:

    如果我真的觉得有足够的力量参与开源项目,那么仅 MSTest 不足以让我离开。我愿意适应任何开发工具/环境。

    ...为了它的价值,我使用带有 Resharper 的完整版 Visual Studio。

    【讨论】:

      【解决方案3】:

      坦率地说,我从未听说有人使用 Express 版本。我认识或与之交谈的每个人都使用成熟的 Visual Studio 环境,或者他们使用免费 SDK 中的编译器/库和一些编辑器(CodeWarrior、CodeInsight 等)并依赖 make 的一些变体来构建。

      至于测试框架,是一把双刃剑。我会推荐 NUnit,但是……还记得 NDoc 发生了什么吗?

      【讨论】:

      【解决方案4】:

      我使用MonoDevelopNUnit

      【讨论】:

        【解决方案5】:

        我尽可能使用 VS 2k8 pro 和 MSTest。

        【讨论】:

          【解决方案6】:

          即使是微软的开源代码(Prism/Composite Wpf)也不使用 MSTest。我相信他们在那个项目中使用了 NUnit。

          【讨论】:

            【解决方案7】:

            您可以使用visual nunit 在VS 中添加一个nunit 测试运行器。 link我从未使用过它,但它可能值得一试。

            【讨论】:

              【解决方案8】:

              如果您的问题是与 Visual Studio 的集成,请尝试Gallio。它包括 MbUnit,但它的运行器可以运行来自其他框架的测试,例如 NUnit、xUnit 等。

              【讨论】:

                【解决方案9】:

                它会让我失望。见MSBuild, NAnt, NUnit, MSTest, and frustration(不是我写的!)-我怀疑很多人有这种感觉。 MSBuild 看起来像是一个做得不好的 NAnt 副本(我们两者都使用),而 MSTest 也看起来像微软通常的“不是在这里发明”的开源答案。虽然我意识到微软开发自己的工具有充分的商业理由,但这些理由并不适用于他们的客户。

                在 Visual Studio 中有一些插件可以在没有 ReSharper 的情况下使用 NUnit,或者您始终可以将其配置为从“工具”菜单运行。

                如果您不喜欢 NUnit,请考虑使用其他开源测试替代方案之一。见NUnit vs. MbUnit vs. MSTest vs. xUnit.net

                【讨论】:

                  【解决方案10】:

                  我认为不使用 windows 的人会因为选择使用 MSTest 而被淘汰出项目。大多数其他 c# 测试库都以单声道形式提供,这是 mac 和 linux 用户将使用的。

                  我不知道您想要吸引多少跨平台开发人员,但如果这是一个问题,那么您需要考虑 Linux/Mac 开发人员。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2014-02-19
                    • 1970-01-01
                    • 2023-04-11
                    • 2014-03-31
                    • 1970-01-01
                    • 1970-01-01
                    • 2013-03-14
                    • 1970-01-01
                    相关资源
                    最近更新 更多