.NETtesting框架build议

我期待在我的工作中引入一个unit testing框架。 我们正在使用Visual Studio 2005(虽然我们可能会在未来6个月内转向2008),并且主要使用C#。 如果框架有某种IDE集成是最好的,但我愿意接受那些没有集成但仍然相对简单的框架。 我会以这样或那样的方式来抵制,所以如果我能确定我所推的是不是一个痛苦的脖子,这将有助于我的情况。

迄今为止我所做的研究显然select了nUnit,但是我希望在推荐给我的团队之前先获得实际使用它的人的印象。

有没有人用过nUnit? 如果是的话,我应该注意哪些缺陷或限制? 那里有其他好的select吗? 如果是这样的话,如果你已经同时使用了nUnit,那么我会非常欣赏他们的优点和缺点。

我觉得NUnit 你最好的select。 使用TestDriven.NET ,您可以在VS.NET获得很好的集成。 (如果你使用的话,Resharper也有一个unit testing运行者)。 NUnit它使用简单,遵循一个既定的范例。 你也会发现很多项目/教程/指南使用它总是有帮助的。

您的另一个主要select可能是MBUnit,它越来越把自己定位为BDD框架(与Gallio http://www.gallio.org一起)。;

Scott Hanselman对此有一个很好的播客,标题是:

“.NETunit testing框架的过去,现在和将来”

Hanselminutes#112

VS 2008的内置unit testing是可以的,但是很难与CruiseControl.net整合,当然比正常的NUnit更难。

所以,如果你打算有很好的自动化testing,那就和NUnit一起去吧。

Visual Studio 2008有一个内置的testing项目types,其工作方式与NUnit类似,但显然与Visual Studio有更紧密的集成(可以在每个构build中运行,并在升级解决scheme时以类似于转换结果页面的方式显示结果文件),但显然不如NUnit成熟,因为它是相当新的,我不知道它如何处理嘲笑。

但是当你的团队转移到VS2008时,这将是值得一看的

我们一直在使用xUnit.net 。 它似乎结合了nUnitmbUnitMSTest所有最好的。

试试PEX工具微软自己可能很快就会被集成到VSTS中,并支持NUnitMbUnitxUnit.net

我还使用小型控制台应用程序来testing一个class级或小型图书馆。 你可以从这里复制粘贴代码

当我开始进行unit testing时,我开始使用NUnit因为它很容易设置和使用,目前我正在使用Resharper自带的内置testing运行器,这样我就可以轻松地在代码和testing结果之间进行Resharper 。 当你编译你的代码时, NUnit会自动检测,所以你不需要在NUnit进行任何刷新。 当您select运行特定testing时, Resharper自动执行构build。

VSTT 2010应该是一个很好的select,如果你正在寻找functiontesting自动化。 Web服务testing, UItesting,Biztalktesting和数据驱动testing支持。 请看VSTT

mbUnit很值得一提,它有一组与NUnit相媲美的function,它有自己的GUI,或者如果你有Resharper ,可以集成到VS 。 如果你正在做任何types的TDD我也会推荐Rhino Mocks

我也会说mbUnit,我喜欢能够多次运行一个单一的testing,只需在testing函数上方指定input和结果即可。 可怕的描述我的意思是这里是一个链接,显示你的意思。