什么单元测试框架将满足我的要求?

时间:2011-08-11 03:52:29

标签: nunit mstest mbunit xunit resharper-6.0

这就是我正在寻找的高水平:

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

    我以为我用xUnit.net 1.8,resharper 6.0和dotCover 1.1.1找到了这个。然而,在投入了大约一天的时间后,我发现了这些设置的主要问题:

    我成功地使用MSTest和ReSharper来做我需要的所有事情,但行测试,但似乎使用一些更先进的测试框架可以让生活更好。

    我已经开始关注Gallio,但我希望有人可以节省一些时间并推荐一个成功的组合,然后再浪费时间探索。

    您成功使用了哪种组合?

3 个答案:

答案 0 :(得分: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);
 }

答案 1 :(得分: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进行了检查..使用最少的配置。

答案 2 :(得分:0)