NUnit和微软的单元测试框架(VS 2008)之间是否存在真正的差异?

bry*_*yan 11 testing nunit unit-testing visual-studio-2008

使用Visual Studio 2008所具有的框架,我是否因为不使用像NUnit这样的外部工具而遗漏了什么?从我可以看出,使用NUnit似乎更麻烦的是手动创建测试类和方法而不是右键单击IDE本机.话虽如此,我是否缺少NUnit提供的VS不包含的功能?有一个简单的GUI供我的QA人员访问很好,但是使用nAnt和构建依赖于单元测试传递,我是否缺少很酷的功能?

Pad*_*ker 12

Roy Osherove刚刚写了一篇博文,总结了NUnit和MSTest之间的差异.我认为它回答了你的问题.

他得出结论,NUnit在单元测试中获胜,但MsTest在使用Team System进行基于集成的测试和团队测试方面具有更好的能力.


Sco*_*man 5

我已经使用了NUnit和MSTest.是的,存在差异.NUnit是一个较老的,更成熟的单元测试框架,旨在完成一件事 - 单元测试.MSTest更新,因此它的API没有相同的成熟度.例如,NUnit提供比MSTest更多的Assert方法.(有关更多信息,请参阅http://geekswithblogs.net/sdorman/archive/2009/01/31/migrating-from-nunit-to-mstest.aspx.要添加一些缺少的Assert方法,请参阅http:// geekswithblogs .net/sdorman/archive/2009/01/31/adding-custom-assertions-to-mstest.aspx).

我还没有真正发现性能是两个框架的问题.

一些更大的差异是:

  • MSTest需要构建服务器上的Visual Studio实例才能运行.它不包含像NUnit这样的独立测试运行器.
  • MSTest 直接在Visual Studio中提供测试结果代码覆盖率结果.NUnit在自己的UI中提供测试结果,并需要其他工具来执行代码覆盖率分析.