.NET测试框架建议

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

从我迄今为止所做的研究中得出的明显选择指向nUnit,但在将其推荐给我的团队之前,我希望获得实际使用它的人的印象。

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

0
额外 编辑
意见: 1
2008年Facepalm。如果升级,你应该使用2010
额外 作者 Cole Johnson,

9 答案

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

“.NET单元测试框架的过去,现在和未来”

Hanselminutes #112

0
额外
这是一个钱播客。它突出了所有主要的单元测试框架。我个人开始使用xUnit是因为我在这个播客中听到了什么。
额外 作者 Chuck Conway,

mbUnit is worth alook, it has a set of features comparable to NUnit, it has its own GUI, or can be integrated into VS if you have Resharper. I would also recommend Rhino Mocks if you are doing any sort of TDD.

0
额外

Visual Studio 2008 has a built in test project type that works in a similar way to NUnit, but obviously has much tighter integration with Visual Studio (can run on every build and shows the results in a similar way to the conversion results page when upgrading solution files), but it is obviously not as mature as NUnit as it's pretty new and I'm not sure about how it handles mocking.

But it would be worth looking into when your team moves to VS2008

0
额外

I would say mbUnit also, I like being able to run a single test many times just by specifying inputs and result right above the test function. Horrible description of what I mean so here is a link that shows you what I mean.

0
额外

我认为 NUnit 你最好的选择。使用 TestDriven.NET ,您可以在 VS.NET 中获得很好的集成。 (如果你使用的话,Resharper也有一个单元测试运行者)。 NUnit 使用起来很简单,并遵循一个既定的范例。你也会发现很多使用它的项目/教程/指南,这总是有帮助的。

您的其他主要选择可能是MBUnit,它越来越多地将自己定位为 BDD 框架选择(与Gallio http://www.gallio.org )。

0
额外

VS 2008 中内置的单元测试是可以的,但很难与 CruiseControl.net 集成,肯定比正常的 NUnit 困难得多。

因此,如果您打算进行良好的自动化测试,请使用 NUnit

0
额外

当我开始进行单元测试时,我开始使用 NUnit ,因为它很容易设置和使用,目前我正在使用 Resharper 附带的内置测试运行器,这样我可以轻松地在代码和测试结果之间切换。 当你编译你的代码时,很显然 NUnit 会检测你的代码,所以你不需要在 NUnit 中进行任何刷新。当您选择运行特定测试时, Resharper 会自动执行构建。

0
额外

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

I use also small Console Application for testing one class or small library. You could copy paste the code from here

0
额外

VSTT 2010 should be a good bet if you are looking for functional test automation. Web Services Testing, UI testing, Biztalk testing and Data Driven Testing Support. Please look at VSTT

0
额外