.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 。 它似乎结合了nUnit
, mbUnit
和MSTest
所有最好的。
试试PEX工具微软自己可能很快就会被集成到VSTS中,并支持NUnit
, MbUnit
和xUnit.net
我还使用小型控制台应用程序来testing一个class级或小型图书馆。 你可以从这里复制粘贴代码
当我开始进行unit testing时,我开始使用NUnit
因为它很容易设置和使用,目前我正在使用Resharper
自带的内置testing运行器,这样我就可以轻松地在代码和testing结果之间进行Resharper
。 当你编译你的代码时, NUnit
会自动检测,所以你不需要在NUnit
进行任何刷新。 当您select运行特定testing时, Resharper
自动执行构build。
VSTT 2010
应该是一个很好的select,如果你正在寻找functiontesting自动化。 Web服务testing, UI
testing,Biztalktesting和数据驱动testing支持。 请看VSTT
mbUnit
很值得一提,它有一组与NUnit
相媲美的function,它有自己的GUI,或者如果你有Resharper
,可以集成到VS
。 如果你正在做任何types的TDD
我也会推荐Rhino Mocks
。
我也会说mbUnit,我喜欢能够多次运行一个单一的testing,只需在testing函数上方指定input和结果即可。 可怕的描述我的意思是这里是一个链接,显示你的意思。