代码之家  ›  专栏  ›  技术社区  ›  Kevin Babcock

NET单元测试框架之间的区别是什么?

  •  4
  • Kevin Babcock  · 技术社区  · 16 年前

    我听过很多不同的观点,关于如何使一个人比另一个人更好。但是,有谁能提供一个技术解释,说明为什么我应该选择一个单元测试框架而不是另一个。例如,我使用VisualStudioTeamSystem。为什么我会选择开源测试框架(NUnit、xUnit、MbUnit等)而不是VisualStudio的内置单元测试功能?这有关系吗?

    编辑:说得很清楚,我不是在寻找关于“哪种单元测试框架最好”的意见……我是在寻找关于它们如何不同的技术细节,。

    3 回复  |  直到 16 年前
        1
  •  7
  •   Scott Weinstein    16 年前

    对NUnit、MbUnit、MSTest和xUnit.net之间的属性和断言差异进行了比较 http://www.codeplex.com/xunit/Wiki/View.aspx?title=Comparisons

    至于MSTest vs OpenSource解决方案,人们普遍认为开源软件包,特别是MBUnit和xUnit.net是围绕单元测试进行创新的地方。

    Peli de Halleux 正在为MS工作,并制作inovation,如 Pex 事情可能会改变。

        2
  •  5
  •   Brian Rasmussen    15 年前

    我只使用过NUnit和微软的版本。在我看来,他们相似多于不同。但是,根据您的项目设置,可能存在一些相关的财务考虑因素。

    微软的测试框架在其较便宜/免费的SKU中不可用,但一旦您为整个软件包(我知道这并不便宜)付费,您就可以在单个软件包中获得单元测试、测试运行程序和代码覆盖率,这非常方便。

    诚然,我已经有一段时间没有研究这个问题了,所以许可证可能已经改变了,但每个开发人员的额外成本是我们选择使用Microsoft解决方案的部分原因。也许VS Express加上其他工具比VS Team基金要便宜,但是因为我们必须和VS TF一起去,这对我们没什么好处。

    如果你在做开源/非商业项目,我相信你可能会得到免费版本。

        3
  •  2
  •   Paul Lefebvre    16 年前

    最初,反对使用VisualStudioTeamSystem附带的单元测试的一个理由是,使用较低版本的VisualStudio的人无法运行您的测试。现在问题不那么严重了,因为我相信VS Pro现在包括了单元测试。我喜欢VisualStudio可以自动为您生成许多测试工具。

    只要您真的在编写单元测试,我认为选择哪种工具并不重要。