题
我希望在我的工作中引入一个单元测试框架。我们正在使用 Visual Studio 2005(尽管我们可能会在接下来的 6 个月内转向 2008)并且主要使用 C# 进行工作。如果框架具有某种 IDE 集成那就最好了,但我对没有集成但设置仍然相对简单的框架持开放态度。我会以某种方式抵制它,所以如果我能确保我所推动的不是一个令人头疼的事情,那将对我的情况有所帮助。
从我迄今为止所做的研究中,显而易见的选择是 nUnit,但在向我的团队推荐它之前,我想了解一下实际使用过它的人的印象。
有人用过 nUnit 吗?如果是这样,有什么我应该注意的陷阱或限制吗?还有其他好的选择吗?如果是这样,如果您使用过这两种 nUnit,我将非常感谢您了解它们的优点和缺点。
解决方案
我认为 NUnit
是 你最好的选择。和 TestDriven.NET
, ,你会得到很好的整合 VS.NET
. 。(如果您使用 Resharper,它还有一个单元测试运行程序)。 NUnit
它使用简单并遵循既定范例。您还会发现大量使用它的项目/教程/指南,它们总是有帮助的。
您的另一个主要选择可能是 MBUnit,它越来越将自己定位为 BDD
选择的框架(与 Gallio 结合使用) http://www.gallio.org).
其他提示
内置的单元测试 VS 2008
还可以,但是很难整合 CruiseControl.net
, ,肯定比平常难很多 NUnit
.
所以去吧 NUnit
如果您计划进行良好的自动化测试。
Visual Studio 2008
有一个内置的测试项目类型,其工作方式与 NUnit 类似,但显然与 NUnit 具有更紧密的集成 Visual Studio
(可以在每个构建上运行,并在升级解决方案文件时以与转换结果页面类似的方式显示结果),但它显然不如 NUnit 成熟,因为它很新,而且我不确定它如何处理模拟。
但当你的团队搬到 VS2008
我们一直在使用 xUnit.net. 。它似乎结合了所有最好的 nUnit
, mbUnit
和 MSTest
.
当我开始单元测试时,我从 NUnit
由于设置和使用很简单,目前我正在使用附带的内置测试运行器 Resharper
, ,这样我就可以轻松地在代码和测试结果之间切换。顺便说一下 NUnit
检测您何时编译了代码,因此您不需要进行任何刷新 NUnit
. Resharper
当您选择运行特定测试时,会自动进行构建。
VSTT 2010
如果您正在寻找功能测试自动化,这应该是一个不错的选择。网络服务测试, UI
测试、Biztalk 测试和数据驱动测试支持。请看 VSTT
mbUnit
值得一看,它有一系列功能可与 NUnit
, ,它有自己的GUI,或者可以集成到 VS
如果你有 Resharper
. 。我也想推荐 Rhino Mocks
如果你正在做任何事情 TDD
.
我还想说 mbUnit,我喜欢通过在测试函数上方指定输入和结果来多次运行单个测试。对我的意思的可怕描述 这是一个链接,可以向您展示我的意思。