.NET单元测试包?
几年没有完全使用它之后,请回到更多的.NET,并想知道这些天好的单元测试软件包是什么。
我对NUnit很熟悉(几年前),并且与IronRuby进行了短暂的交流,目的是使rspec之类的东西不断发展,但除此之外,我所了解的并不多。
我知道我可以用Google来搜索并称之为一天,但是我相信通过在这里提出问题,我可能会得到更好,更明智的回复:-)
有什么建议吗?
解决方案
回答
我喜欢MbUnit,呃,Gallio。对我来说最重要的是在Visual Studio中拥有良好的工具支持。为此,我使用了具有MbUnit测试运行程序的Resharper。很多人似乎也喜欢TestDriven.NET作为他们的测试跑步者。
回答
我喜欢TestDriven.NET(即使我使用ReSharper),我对XUnit.net也很满意。它使用事实而不是很多人不喜欢的测试,但是我喜欢术语上的差异。考虑有关软件的可自动证明的事实的集合,并查看进行更改时会违反哪些事实,这很有用。
请注意,Visual Studio 2008 Professional(及更高版本)现在带有集成的单元测试(以前只能在Team System版本中使用),并且可能适合需求。
回答
有这么多疯了。我猜是疯狂的好。
- 对于保守的类型(我),NUnit仍然可用,并且功能强大。
- 对于Microsoft类型,MSTest是足够的,但与Nunit相比,速度慢且笨拙。它也缺少代码覆盖,而不必为昂贵的Visual Studio版本付出高昂的代价。
- 还有MbUnit。它类似于NUnit,但是具有一些不错的功能,例如RowTest(使用不同的参数运行相同的测试)和Rollback(回滚数据库,就像在测试后找到它一样)
- 最后,从某种角度来说,xUnit.net是时髦的选择。
- 哦,TestDriven.NET将为我们提供Nunit和MBunit的IDE集成。
我确定他们都还好。不过,我还是避开了MSTest,除非我们只是享受将所有功能都集成在一个IDE中的便利性。
Scott Hanselman对此主题做了一个播客。
回答
xUnit.net看起来为N / MB / MS / Unit提供了一种稍微不同的方法,这很有趣。
在寻找类似rspec的解决方案时(因为我喜欢rspec),我还遇到了NSpec,它看起来有些罗word,但与NSpec Extensions插件结合使用C#3扩展方法,看起来非常不错。
回答
我们在这里使用NUnit和MBUnit。我们使用TestDriven.NET在Visual Studio中运行单元测试。我们使用强烈推荐的出色RhinoMocks作为模拟框架。
回答
我曾经使用过NUnit,但是由于它具有更多功能,所以我切换到了MbUnit。我喜欢RowTest。它使我们可以对测试进行参数化。 NUnit确实有更好的工具支持。我正在使用ReSharper运行MbUnit测试。我在运行MbUnit的SetUp方法的TestDriven.NET遇到问题。
回答
就我而言,这实际上是个人观点(我想这是多余的,因为它是一个论坛)。 NUnit,MSTest等都可以做同样的事情。但是我发现NMock是必不可少的。
NMock或者任何模拟程序包都不是单元测试,但是它使单元测试变得非常容易,因此也很容易。
回答
坚持使用NUnit。不要靠近MSTest。
使用NUnit + ReSharper绝对是一件令人愉快的事情。
回答
我曾经使用NUnit,但现在倾向于使用MbUnit,因为它具有两个主要功能:
- RowTest功能使我们可以轻松地对不同的参数集运行相同的测试,如果我们确实需要全面的知识,这一点很重要。
2.回滚功能使我们可以对数据库运行测试,同时在每次测试后回滚更改,从而使数据库始终保持完全相同的状态。就像添加[Rollback]属性一样简单。
MbUnit的另一个不错的方面是它的语法与NUnit几乎相同,因此,如果我们已经在NUnit下放置了整个测试平台,则只需切换引用即可,而无需更改任何代码(很多?)。
回答
我举了一个使用ironRuby测试.net库的小例子:
http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx
回答
我使用以下内容:
用于Visual Studio的TestDriven.NET单元测试插件
用于.Net单元测试的Typemock IsolatorMocking框架
NUnit C#中的一个开源单元测试框架。
回答
这是一个古老的问题,但是我们可能会发现有趣的是,Gallio v3.1现在通过IronRuby支持RSpec。