NUnit与团队系统单元测试

时间:2009-04-01 21:40:57

标签: unit-testing nunit

您更喜欢哪个?

每个单元测试的优点和缺点是什么?

编辑:我承认Team System提供的不仅仅是单元测试,例如应用程序和数据库的性能和负载测试。这个问题围绕着编写单元测试,你更喜欢哪个。

8 个答案:

答案 0 :(得分:9)

<强> NUnit的:

优点:

  • 非常类似于attributs中的团队系统和断言方法,有些名称甚至相同

缺点:

  • 测试必须通过控制台或外部应用程序运行(这可以看作是一个优势,但不是从我的角度来看)。

团队系统测试

优点:

  • VS的一部分,您可以在测试窗口中运行测试。
  • 如果您运行团队系统服务器,则可以更轻松地运行测试作为自动构建的一部分

缺点:

  • 仍然不如NUnit稳定

A comparison between team system and Nunit

我们使用团队系统2008,因为我们是微软认证的合作伙伴,但由于VS 2005中的bug相关问题,我们之前使用过Nunit。我更喜欢VS解决方案

两者都是您工作的好解决方案,还可以寻找其他免费解决方案,例如:

Good alternatives to Team System

答案 1 :(得分:6)

一个非常具体的原因是,NUnit不会将您与视觉工作室的专业版联系起来。

更新:以下是有关vs 2008中专业版本的单元测试支持的链接:http://msdn.microsoft.com/en-us/library/bb385902.aspx

答案 2 :(得分:4)

NUnit的另一个优点是它不需要向测试类添加任何内容。 MSTest需要存在TestContext属性。我们从MSTest开始,但转换为NUnit。我还发现NUnit要快得多,我更喜欢ReSharper的测试运行UI。

答案 3 :(得分:4)

目前,NUnit拥有测试类别,允许您与较慢的集成测试分开运行单元测试。

MS测试没有这样的内置机制。

答案 4 :(得分:2)

使用MS测试时,您可以使用CHESS

  

CHESS是一个系统地测试多线程代码的工具。鉴于并发测试,CHESS系统地沿着所有可能的线程交错驱动测试。

另外,我发现一个很好的比较here声称MS测试比NUnit稍慢,但我没有自己检查。

答案 5 :(得分:1)

在创建测试项目时,Visual Studio 2008是否允许您使用其他测试框架?当Hanselman正在预览2或3个视频时,我依旧记得看过旧的MVC框架视频。

这将允许您使用您喜欢的任何测试框架,并且仍然可以在VS2008 IDE中使用它。

答案 6 :(得分:1)

测试私有方法怎么样? Team System使用反射自动创建阴影访问器 - NUnit是否相同?

答案 7 :(得分:0)