NUnit for C#与与Visual Studio集成的单元测试工具相比如何


12

我需要一个团队来开发使用C#.NET开发的中型桌面应用程序。在此之前,我尚未应用单元测试和测试驱动开发。我知道存在许多用于单元测试C#应用程序的工具和框架。到目前为止,我知道Nunit和与Visual Studio集成的单元测试工具。

我想知道,两者如何比较?

Answers:


14

两者之间肯定有一些重叠。NUnit是它的前身,因此更加成熟。C#单元测试框架比较年轻,但是与Visual Studio集成在一起。

我来自Java世界,其中JUnit为王(还有其他人,但没有一个受欢迎),NUnit 2.5.x与JUnit 4的工作方式非常匹配。实际上,它比Java同行要好得多。

就测试定义而言,我更喜欢NUnit。当然,MS Test具有适用于您的类的相似(但不同)的属性,但我认为它缺少一些功能,可以节省一些类型的测试工作。您可能想查看关于StackOverflow类似讨论

我喜欢NUnit内置的新断言模型(它使用Hamcrest风格的断言),因为它们既易于阅读又易于扩展。

  • NUnit将具有更好的第三方支持,MS Test将具有更好的集成(开箱即用)。
  • NUnit将具有更好的灵活性和可扩展性,MS Test将在这一领域受到影响。
  • 都可以运行单元测试并检查结果,两者都适用于TDD。

3

当我不得不创建构建脚本以在专用的MSBUILD服务器上运行TFS,设置nUnit并获取nUnit测试结果时,我注意到的唯一真正的麻烦是轻而易举。

Resharper还存在一个问题,即无法从测试运行程序运行MSTest测试。在较新的版本中,此问题已修复,因此,如果您使用的是旧版本的Resharper,仍然可能会遇到问题。

Roy Oshereve的帖子仍然是不错的概述。

ps:删除了我的其他答案,对我没有任何帮助,对此我深表歉意。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.