这就是我在高水平上寻找的所有内容:
- 在visual studio 2008中运行单元测试的能力
- 与某些代码覆盖工具的兼容性
- 具有行测试功能的单元测试框架,如MBUnit的RowTestAttribute
- 与Team City的整合能力
我以为我在xUnit.net 1.8、resharper 6.0和dotCover 1.1.1中发现了这个问题。然而,在花了将近一天的时间摆弄这些东西之后,我发现了这个设置的这些主要问题:
- Resharper不完全支持理论测试(行测试)-更多信息
- dotCover基本上不工作与xUnit
我成功地使用MSTest与ReSharper做我需要的一切,但行测试,但似乎生活可以更好与一些更先进的测试框架。
我已经开始看加里奥了,但我希望有人能帮我节省一些时间,在我浪费更多的时间探索之前推荐一个成功的组合。
你成功地使用了什么组合?
我建议您使用NUnit
:
- 您可以使用
TestDriven.NET
或ReSharper
与Visual Studio完全集成 -
PartCover
,Sonar
,NCover 1.5.8 free
作为代码覆盖工具 -
TestCase
属性传递不同的参数集(ReSharper完全支持此属性) -
Team City
支持内置在
[Test]
[TestCase(1)]
[TestCase(2)]
[TestCase(3)]
public void TestMe(int param)
{
Assert.That(param > 0);
}
- 集成IDE:开箱即用和免费=> MSTest。如果您愿意下载和使用,有大量的测试运行程序。unit是最老的。如果你愿意支付,你有resharper, test- drive.net和其他插件。Resharper有自己捆绑的测试运行器——这就是为什么你会看到这些琐碎的问题。现在,如果您想要运行和调试,那么您的选项将进一步减少。运行就像将程序设置为要调试的单元测试运行程序exe一样简单。底线:集成除MSTest以外的任何东西,必须付费/下载。
- 与代码覆盖的兼容性:再次开箱即用和免费=> MSTest。付费:NCover将集成任何exe…所以这并不是一个限制(但在我看来有点太贵了)。现在也出现了其他的——随着Jetbrains推出他们自己的变体,我猜想他们自己的产品之间的兼容性将是一个给定的。
- RowTests: NUnit有这个。虽然我认为它是从xUnit或MBUnit借来的,但我忘了。MSTest支持这个可下载的扩展。
- 与Team City集成:查看他们的页面:似乎只与NUnit和MSTest一起工作。我已经亲自用NUnit检查过了。
我强烈推荐xUnit.net
请阅读为什么它是构建的,以及如何比较xUnit.net与其他。net测试框架。