Visual Studio 2013 MSTest vs NUnit

问题描述 投票:67回答:2

我的公司正在将Visual Studio 2012升级到2013 Premium。在此过程中,我们还希望使用Visual Studio Team Services

开始自动化测试

过去,我已经阅读了几篇MSTest vs nUnit的文章和文章,但是大多数文章都比较了旧版本的MSTest。而且,与MSTest相比,nUnit具有很多有利的评价。

[我的问题是,考虑到Microsoft对ALM的承诺,敏捷实践以及他们为VS2013 Premium和Visual Studio Team Services添加的所有新内容,以促进和鼓励自动化测试,MSTest与nUnit相比如何?

在决定要使用的测试框架之前,我还应考虑哪些其他因素?

visual-studio unit-testing nunit visual-studio-2013 mstest
2个回答
57
投票

MSTest自最初引入以来并没有太大变化,因此那些旧的比较文章仍然有效。微软对ALM的关注主要是针对进一步的工具和服务器产品,但是基本的测试框架并没有太大变化。

还值得注意的是,MSTest及其整个ALM策略针对许多不同类型的自动化测试,包括集成测试,系统测试,性能测试等,因此,尽管它试图成为一种万能的,它非常不适合单元测试,因为它太重了,无法使用。

虽然NUnit更好,但我也不推荐。多年来,它也没有太大变化,坦率地说,可扩展性模型一团糟。

相反,我建议xUnit.net。尽管它也不完美,但它是当前.NET上最好的主流替代方案。 xUnit.net is better than MSTest的原因很多。


36
投票

MSTest与NUnit:

  1. MSTest与VS集成在一起,因此易于使用。 NUnit将需要第三方工具(有些是免费的,有些是付费的)。
  2. VS将为您提供MSTest中的代码覆盖率。 NUnit需要DotCover(这是一种付费工具)。
  3. MSTest如果彼此不依赖,则可以并行执行测试。这不是NUnit提供的功能。
  4. [NUNit具有TestCaseSourceAttribute,可帮助您实现参数化的测试用例,但在MSTest中,您将需要DataSourceAttribute,该文件位于XML文件中,并且当方法中具有复杂的逻辑时将很难管理。
  5. 与MSTest相比,NUnit更快。

两个框架都很好用,但我建议您使用NUnit。

© www.soinside.com 2019 - 2024. All rights reserved.