.NETunit testing包?

在几年的不全面使用之后再回到更多的.NET,并想知道现在的unit testing包是什么。

我对NUnit(几年前)很熟悉,并且与IronRuby进行了一些简单的交stream,目的是让类似rspec的东西能够继续使用,但是除此之外不太了解。

我意识到我可以谷歌这一点,并称之为一天,但我相信我可能得到一个更好,更知情的答复在这里问一个问题:-)

build议?

有太多这是疯了。 疯了,我猜。

  • 对于保守types(我), NUnit仍然可用,仍然比能力更强。
  • 对于Microsofttypes,与Nunit相比, MSTest已经足够,但是速度慢而笨重。 它也缺乏代码覆盖率,而无需花费昂贵的Visual Studio版本。
  • 还有MbUnit 。 这就像NUnit,但有像RowTest(用不同的参数运行相同的testing)和回滚(把数据库放回来,就像你在testing后发现它一样)
  • 最后, xUnit.net是一些态度的时尚select。
  • 哦, TestDriven.NET将为您提供Nunit和MBunit的IDE集成。

我相信他们都很好。 不过,除非你喜欢把所有的东西放在一个IDE里面,否则我会避开MSTest。

Scott Hanselman在这个话题上有一个播客。

我们在这里使用NUnit和MBUnit 。 我们使用TestDriven.NET从Visual Studio中运行unit testing。 我们使用优秀的,强烈推荐的RhinoMocks作为模拟框架。

坚持NUnit。 不要去MSTest附近的任何地方。

NUnit + ReSharper是一个绝对的喜悦与合作。

我曾经使用NUnit,但现在倾向于使用MbUnit,主要有两个特性:1. RowTestfunction允许您轻松地在不同的参数集上运行相同的testing,如果您真的需要彻底的覆盖,这一点非常重要。 2.回滚function允许您在每次testing之后回滚更改的同时对数据库运行testing,从而使数据库每次保持完全相同的状态。 和添加[Rollback]属性一样简单。

MbUnit的另一个好方面是它的语法和NUnit几乎是一样的,所以如果NUnit下已经有了一个完整的testing平台,那么你可以在不需要修改任何(非常多的)代码的情况下将引用切换掉。

xUnit.net看起来像是提供了一个与N / MB / MS / Unit稍有不同的方法,这很有趣。

在我search一个类似rspec的解决scheme(因为我爱rspec),我也遇到NSpec ,看起来有点罗嗦,但与NSpec扩展插件结合使用C#3扩展方法,它看起来相当不错。

我使用以下内容:

TestDriven.NET – 为Visual Studio添加unit testing

Typemock Isolator – .Netunit testing的模拟框架

NUnit – 一个在C#中的开源unit testing框架。

这是一个古老的问题,但你可能会发现有趣的是,Gallio v3.1现在通过IronRuby支持RSpec。

我喜欢TestDriven.NET (即使我使用ReSharper),我对XUnit.net很满意。 它使用事实而不是许多人不喜欢的testing,但我喜欢术语上的差异。 想一想关于你的软件的一些可自动certificate的事实,并且看看在你做出改变时你违反了哪些事情是有用的。

请注意, Visual Studio 2008 Professional(及以上版本)现在带有集成的unit testing (以前只能用于Team System版本),可能适合您的需要。

我做了一个使用ironRubytesting.net库的小例子: http ://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

我喜欢MbUnit ,呃, Gallio 。 对我来说最重要的是在Visual Studio中有很好的工具支持。 为此,我使用了Resharper ,它有一个MbUnittesting运行器 。 很多人似乎也喜欢TestDriven.NET作为他们的testing跑步者。

我曾经使用过NUnit,但是由于它具有更多的function,所以我切换到了MbUnit。 我喜欢RowTest。 它可以让你参数化你的testing。 NUnit确实有更好的工具支持。 我正在使用ReSharper来运行MbUnittesting。 TestDriven.NET运行我的设置方法MbUnit有问题。

这实际上是我个人的看法(我想这是多余的,因为它是一个论坛)。 NUnit,MSTest等都做相同的事情相当mutch。 不过我觉得NMock是不可或缺的。

NMock或任何嘲讽包都不是unit testing,但它使得unit testing变得非常简单。