2

这就是我在高层次上寻找的全部:

  1. 从 Visual Studio 2008 中运行单元测试的能力
  2. 与一些代码覆盖工具的兼容性
  3. 具有行测试功能的单元测试框架,例如 MBUnit 的RowTestAttribute
  4. 能够与Team City集成

我以为我在 xUnit.net 1.8、resharper 6.0 和 dotCover 1.1.1 中找到了这个。然而,在花了将近一天的时间来搞乱这些东西之后,我发现了这个设置的这些主要问题:

  • Resharper 不完全支持理论测试(行测试) -更多信息
  • dotCover 基本上不适用于 xUnit

我成功地使用 MSTest 和 ReSharper 来完成我需要的所有事情,但行测试除外,但使用一些更高级的测试框架,生活似乎会好得多。

我已经开始关注Gallio了,但我希望有人能帮我节省一些时间,并在我浪费更多时间探索之前推荐一个成功的组合。

你成功使用了什么组合?

4

3 回答 3

2

我建议你使用NUnit

  • 您可以使用TestDriven.NETReSharper与 Visual Studio 完全集成
  • PartCover, Sonar,NCover 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);
 }
于 2011-08-11T09:17:54.460 回答
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 集成:查看他们的页面:似乎仅适用于 NUnit 和 MSTest。我亲自使用 NUnit 进行了检查。以最少的配置工作。
于 2011-08-11T04:19:51.757 回答
0

我强烈建议xUnit.net

请阅读它的构建原因以及xUnit.net 与其他 .NET 测试框架的比较

于 2011-08-12T14:55:05.860 回答