【发布时间】:2008-09-24 15:00:01
【问题描述】:
我已经使用 NUnit 几年了。我已经尝试了一段时间的 MBUnit 以及 Zenebug 和 XUnit,但我不断回到 NUnit。
您最喜欢/最常用的单元测试框架是什么?您能解释一下为什么要使用它吗?
【问题讨论】:
-
看看这个(德国)民意调查:link
标签: unit-testing nunit automated-tests
我已经使用 NUnit 几年了。我已经尝试了一段时间的 MBUnit 以及 Zenebug 和 XUnit,但我不断回到 NUnit。
您最喜欢/最常用的单元测试框架是什么?您能解释一下为什么要使用它吗?
【问题讨论】:
标签: unit-testing nunit automated-tests
为胜利而战!它简单易行。没有混乱,没有大惊小怪。
【讨论】:
xUnit.net,但我几乎没有偏见。 :)
我为什么使用它:http://www.codeplex.com/xunit/Wiki/View.aspx?title=WhyDidWeBuildXunit
【讨论】:
我喜欢它处理报告的方式,我期待着我听说的一些即将推出的功能,例如与 JsUnit 的集成。
【讨论】:
我已经使用 nUnit 多年,但是当我们迁移到 VS2008 和 TFS 2008(使用 TeamBuild)时,我们决定尝试 MSTest。没有什么大的抱怨……我们真的很喜欢它与 IDE 以及 CI 构建服务器的集成程度。
我们正在尝试的一个看起来很有潜力的新东西是来自 Microsoft Research 的另一个附加组件,名为 Pex(需要 VS2008)。正如他们所说:“Pex 通过基于动态符号执行的自动探索性测试,从手写参数化单元测试生成单元测试。”我的说法是:这个东西对你的单元测试和目标代码以及codegen的单元测试进行静态分析,以实现超高的代码覆盖率(如果你手动这样做通常是不切实际的)。
【讨论】:
Gallio 看起来一旦它变得更加稳定(目前是 alpha 版)将会很棒。
它不仅是一个测试框架,还是一个测试自动化平台,因此它可以与许多现有的测试框架(MbUnit、NUnit、xUnit.net)一起使用,而且是完全可扩展的,并具有许多内置的附加功能,例如多种格式的报告生成和代码分析工具。
我也听说可以
编辑:它现在确实超出了 alpha 版本。我们已经在我们的公司尝试过,我们真的很讨厌它。使用起来很糟糕,而且速度很慢。真可惜。
【讨论】:
我使用 Nunit 已经有一段时间了,但我碰巧更喜欢嵌入 VS 的东西。所以,我现在正在使用 MSUnit。只是希望在 VS 中安装较少的插件。
【讨论】:
NUnit。我们可以在 CC 上使用它。
【讨论】:
我喜欢 xUnit,因为它使用构造函数和 Dispose 方法的方式,而不必将属性应用到其他方法进行初始化等等。
【讨论】:
MbUnit 具有与 NUnit 兼容的语法,但具有更多功能(尤其是数据驱动测试)。
【讨论】:
Resharper 中对 NUnit 测试的支持非常好,并且为我离开 NUnit 设置了很高的标准。我可以直接从 Visual Studio 运行解决方案中的所有测试,也可以深入研究并专注于特定测试。签入我的代码后,我的持续集成构建运行相同的测试。这让我对自己的开发过程充满信心。
【讨论】:
MSTest
http://en.wikipedia.org/wiki/MSTest
我不知道它是不是我最喜欢的(没有真正尝试过很多其他的),但它很方便,因为它内置在 Visual Studio 中。
【讨论】:
我以前使用 NUnit,但现在我更喜欢 Visual Studio 2008 附带的框架,因为它具有更紧密的集成并且更易于设置以测试私有方法。
我们在保持 NUnit 版本与团队其他成员同步方面也遇到了问题。这是一个小麻烦(去升级,或修复项目引用),但它随着开关而消失了。
【讨论】:
【讨论】:
我已经使用 NUnit 大约 4 年了,肯定会推荐使用它。 Reshaper - JetBrains 的 VisualStudio 插件包括一个 UnitTestRunner,它与 VisualStudio 完美集成,让您可以直接从 IDE 运行/调试测试。 Resharper、NUnit 和 RhinoMocks 是我首选的单元测试工具套件。
【讨论】:
我使用过 NUnit 和 MS Test。我喜欢 MS Test 与 IDE 的集成以及代码覆盖率的额外好处。但由于性能原因以及流畅断言之类的原因,我更喜欢使用 NUnit 而不是 MS 测试。
您可以使用一个名为 Should 的库来编写与框架无关的断言。它还具有非常好的流畅语法,如果您喜欢流畅的界面,可以使用它。我有一篇与此相关的博客文章。
http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html
如果我们对断言使用像应该这样的东西,那么两个版本的测试几乎是一样的,我认为这两个框架之间没有太大区别。
我在我的blog 之一中对 NUnit 和 MSTest 单元测试框架进行了比较。
【讨论】: