2011-08-11 106 views
2

这是所有我在一个较高水平寻找:什么单元测试框架能够满足我的要求?

  1. 从Visual Studio中的一些代码覆盖工具
  2. 的单元测试框架与运行单元测试2008
  3. 兼容性的能力喜欢MbUnit的的RowTestAttribute
  4. 能力行测试功能与Team City

整合,我想我已经找到了这个用xUnit.net 1.8,resharper 6.0和dotCover 1.1.1。然而,几乎每天用瞎搞这个东西之后投资我找到了这种设置,这些主要问题:

  • 理论考试(行测试)没有在ReSharper的完全支持 - more info
  • dotCover基本上does not work与xUnit

我成功地使用MSTest与ReSharper做我需要的一切,但行测试,但似乎生活可能会更好一些更先进的测试框架。

我已经开始寻找Gallio,但我希望有人能够节省一些时间并推荐一个获胜组合,然后再浪费更多时间进行探索。

您成功使用了哪种组合?

+0

1.和2 .:这些工具在目的和互相兼容性以及您的IDE方面是正交的。您可以使用任何IDE的单元测试框架以及现有的代码覆盖工具(请参阅有关如何将其与手动测试结合使用的文档)。现在,如果你谈论*强大的整合*,那就不同了。请澄清您的确切需求 –

+0

我知道一种解决方案不能提供所有这些功能,这就是它的难点所在。我将定义*强大的集成*作为我用resharper和MSTest获得的 - 只需点击一下,您就可以运行测试并查看覆盖范围,然后编辑代码并重复所有操作,而无需离开VS.我通过链接到MBUnit的RowTestAttribute来更新我的问题以阐明。 – jaminto

+1

NUnit通过扩展支持很多事情,与VS 2008现有第三方免费和付费集成,最有可能与任何其他产品集成(因为它是最古老和众所周知的产品之一),并且有几个参数化测试用例选项(有些可能类似于行测试):http://www.nunit.org/index.php?p=parameterizedTests&r=2.5.10。我还没有尝试resharper超过一分钟,我没有与MSTest工作,因为挖掘到参数化测试,所以不能评论他们:) HTH tho –

回答

2

我会建议你使用NUnit

  • 您可以使用TestDriven.NETReSharper有与Visual Studio
  • PartCoverSonarNCover 1.5.8 free代码覆盖工具
  • TestCase属性全面整合通过不同的参数设置(ReSharper完美支持此属性)
  • Team City是内置的

的TestCase的一个实例属性

[Test] 
[TestCase(1)] 
[TestCase(2)] 
[TestCase(3)] 
public void TestMe(int param) 
{ 
    Assert.That(param > 0); 
} 
+0

还有OpenCover;它和PartCover现在都支持GitHub –

0
  1. 与IDE集成:开箱即用和免费=> MSTest。如果你愿意下载和使用,有很多测试运行者。NUnit是最古老的。如果你愿意支付,你有resharper,test-driven.net和其他加载项。 Resharper有自己的测试跑步者 - 所以这就是为什么你看到这些小问题。现在,如果你想运行和调试,那么你的选择会减少更多。运行与将程序设置为您的单元测试运行器exe进行调试一样简单。底线:除了MSTest以外的任何其他功能都必须付费/下载。
  2. 与代码覆盖的兼容性:再次开箱即用=> MSTest。付费:NCover将与任意exe ...因此不是一个约束(但成本有点太多恕我直言)。还有其他人现在也出现了--Jetbrains抛出了他们自己的变体,我假设兼容性将是他们自己的产品中的一个给定。
  3. RowTests:NUnit有这个。虽然我认为它是从xUnit或MBUnit借用的,但我忘记了。 MSTest支持这个作为可下载的扩展。
  4. 与Team City集成:请参阅their page:似乎只适用于NUnit和MSTest。我亲自使用NUnit进行了检查。使用最少的配置工作。
+0

问题w/2是OP没有真正定义它们的含义(没有很好的关于什么是整形器集成提供)。大多数代码覆盖工具可以让您对手动测试进行覆盖,这意味着1.构建构建(在构建时或覆盖时间)2.运行一些覆盖守护程序以启用覆盖范围收集3.运行测试。但是,有些工具可能会让您获取历史覆盖率数据,并根据代码更改选择要执行的测试。如果OP意味着集成水平,那么在没有大量胶水工作的情况下选项可能会大大缩小。 –

相关问题