【问题标题】:Code coverage tools for VS 2008 [closed]VS 2008 的代码覆盖率工具 [关闭]
【发布时间】:2010-09-16 02:12:09
【问题描述】:

我们在 VS 2008 专业版中进行了单元测试,并遇到了一个可能相当大的障碍:在这个特定的 VS 版本中似乎无法确定代码覆盖率。看来这是只有VS Team System Development Edition才有的东西。

换句话说,VS 2008 专业版允许您编写所有您想要的单元测试,但无法检查哪些代码没有关联的单元测试(或者测试覆盖了多少代码)。这个观察正确吗?

如果是这样,有人可以推荐一个第三方工具来确定代码覆盖率吗?我尝试了 TestMatrix,但完全不为所动(设置屏幕在 120 DPI 时隐藏了 OK 和 Cancel 按钮,运行我当前的一组测试导致完全 VS 锁定)。

一个附带问题:与其升级到 VS Team System Development Edition,不如使用第 3 方覆盖工具,而是采用 NUnit 并找到一个免费/低成本的代码覆盖工具更有意义吗?我们还没有深入到单元测试中,我们希望选择一种不会妨碍我们努力的测试方法......并且不会破坏银行。

【问题讨论】:

    标签: visual-studio-2008 unit-testing code-coverage


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      我正在使用PartCover 从我的 NUnit 测试中获取有关代码覆盖率的基本信息。虽然界面不是最完美的体验,但它可以完成工作并且是开源的。

      【讨论】:

      • 我曾短暂尝试过 PartCover,但无法弄清楚。它仅适用于 NUnit(因为它是 NCover 克隆),还是可以在 VS 2008 中与 MS 的测试工具一起使用?谢谢!
      • 我相信你可以用它来测试任何你可以从 PartCover 开始的 .exe 文件的覆盖率。但我目前仅将它用于 NUnit 测试。
      【解决方案3】:

      我已经在 VS2008 下使用 NCoverNUnit 几天了。我发现很容易找到并填补我的测试覆盖范围内的空白,当 NCover 弹出时我会大声地咯咯笑。

      一个提示:如果您的测试与他们正在测试的代码在同一个文件中,除非您的所有测试都通过,否则不要打扰运行 NCover。否则,它会将所有失败的测试方法的尾括号标记为未覆盖。不过,也许这只是暗示我应该将测试放在不同的文件中……

      【讨论】:

      • 最好将测试放在单独的项目/程序集中
      • 哇,是的,您不希望您的测试在同一个文件中。为什么要用单元测试和测试依赖来膨胀你的版本?
      • 我认为将单元测试与他们正在测试的代码放在同一个文件中会有一些很好的优势。不应不加思索地放弃这个想法。您仍然可以将它们从生产代码中排除,但有些人甚至会随生产代码一起发布测试。这也有一些好处。
      猜你喜欢
      • 2011-03-02
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      相关资源
      最近更新 更多