在我看来,每个人都使用NUnit甚至不考虑其他选项。我认为这是因为:
- 每个人都已经熟悉它,因此他们不必学习新的API。
- 它已经与他们的持续集成服务器一起设置为可与NUnit一起使用。
我对此有错吗?
我决定最近在自己的一个项目中使用xUnit,我喜欢它!这对我来说意义非凡,从概念上讲,这似乎是NUnit向前迈出的明确一步。
我想听听有关哪个框架实际上是最佳框架的意见-无需考虑必须学习或重新配置自动化测试。
在我看来,每个人都使用NUnit甚至不考虑其他选项。我认为这是因为:
我对此有错吗?
我决定最近在自己的一个项目中使用xUnit,我喜欢它!这对我来说意义非凡,从概念上讲,这似乎是NUnit向前迈出的明确一步。
我想听听有关哪个框架实际上是最佳框架的意见-无需考虑必须学习或重新配置自动化测试。
Answers:
我个人使用MSTest。NUnit确实很棒,但是在VS2010中,MSTest已经完全集成到IDE中,并且有完整的项目模板。对于.NET,如果您使用的是2010,那么我认为MSTest是唯一的代码覆盖范围,测试运行程序和其他可用工具(在VS2008中为MSTest,我认为还不能达到标准)盒子外面。(如果您使用CodeRush或R#,那么它们对于其他测试框架而言确实具有出色的测试运行器/工具)
编辑:从那以后我已经转移到XUnit。:D
几年前,我开始使用Gallio / MbUnit。而且它提供的功能和宝石是如此强大,以至于我从未后悔自己的选择。实际上,我现在是Gallio OSS项目开发团队的一员。因此我可以做出更大的贡献。
在维基肯定是一个很好的起点,发现加利奥和MbUnit的V3。它仍然遗漏了一些章节,但是它已经非常有用了。
选择一个并使用它可能是这里最重要的步骤。
我个人出于某些原因会选择NUnit。首先是工具支持。有一个免费的Visual Studio 2010加载项,所有主要的第三方插件都支持它。每个构建系统,测试覆盖率实用程序和CI服务器都支持它。在许多情况下,没有插件。在代码级别,它可以只处理大约在这一点上的任何场景-数据驱动测试,继承,抽象测试类,通用测试类,安装,拆除等在一定程度上,我们有xUnit的,因为NUnit的有太丰富的功能和强大。
除了NUnit之外,我认为您可以像Yann所说的那样对MBUnit + Gallio提出一个相当不错的论据-这是一个非常坚实的框架。您应该避免的就是MSTest,它有一些致命的缺陷恕我直言。缺陷是测试类的一些约束,例如没有继承以及对专业或更好的Visual Studio SKU的依赖。包括要求将Visual Studio安装在构建服务器上才能运行测试。