我读到过MbUnit是服用类固醇的NUnit,但我不明白为什么。从我在这里读到的,我听说NUnit比MbUnit更受欢迎。其中一个主要原因是因为它有一个流畅的界面。这是唯一的原因吗?
为什么我更喜欢MbUnit而不是NUnit,反之亦然?
发布于 2010-09-10 01:40:24
NUnit最初是作为JUnit的一个端口,并且已经存在很长时间了。MbUnit是在这个事实之后出现的,它带来了“生成式”单元测试。这意味着它有能力进行一次单元测试,并从中生成多个单元测试。一种方法是使用RowTest属性。
在典型的单元测试不会接受任何参数的情况下,RowTest将接受参数并从中生成多个测试。我相信NUnit现在也有了RowTest的概念。
[Test]
[Row(1, 1, 2)]
[Row(2, 2, 4)]
[Row(1, 2, 3)]
public void X_plus_Y_equals_Z(x, y, z)
{
Assert.AreEqual(z, x+y);
}这将导致在测试运行器中运行三个测试。还有一些用于回滚数据库事务的功能。
NUnit具有用于断言的流畅接口,这很好,但不是真正的卖点。NUnit可能还有一些更好的工具支持(ReSharper的test runner可以开箱即用NUnit,但需要MbUnit的插件)。
最后,您应该选择一个框架并使用它。你学到的技能可以从一个框架移植到另一个框架。
发布于 2010-09-10 06:39:24
尽管NUnit现在包含了最流行的MbUnit高级功能,但MbUnit的功能仍然更加丰富,例如:
流畅的界面可能很好,但通常它们不会添加任何新功能。他们只是以一种不同的方式向程序员展示了一些东西。
NUnit之所以更受欢迎,是因为它是最先出现的(因此在web上有更多关于它的文章和更好的工具),而且因为大多数程序员不关心或不需要MbUnit提供的高级功能。
发布于 2014-05-29 00:20:26
对于那些正在做研究的人,只需一句话:
从MbUnit的网站上可以看到:"Gallio和MbUnit目前处于中断状态。“
MbUnit GitHub帐户最近显示了极其稀疏的提交历史记录。
https://stackoverflow.com/questions/3678783
复制相似问题