【问题标题】:What can I use for good quality code coverage for C#/.NET? [closed]我可以使用什么来获得 C#/.NET 的高质量代码覆盖率? [关闭]
【发布时间】:2010-09-21 13:37:16
【问题描述】:

我想知道 .NET(或特别是 C#)代码覆盖率有哪些选择,尤其是在价格较低的部分?

我不是在寻找建议,而是根据事实对产品进行比较。我知道以下几点:

【问题讨论】:

标签: c# .net code-coverage


【解决方案1】:

我使用TestDriven.NET 自带的NCover 版本。它将允许您轻松地右键单击您的单元测试类库,然后点击Test With→Coverage,它会拉出报告。

【讨论】:

  • 一定喜欢 TestDriven.NET;碰巧,我使用 VSTS,但我倾向于使用 NUnit(不是 MSTes),并使用 TestDriven.NET 来“使用 -> 团队覆盖进行测试”,它使用 MSTest 覆盖工具(包括着色)和我的 NUnit 测试。太棒了。
  • 这也是我使用的 - 直到我将我的应用程序移动到 64 位 :-(
  • 尚不能与 .NET 核心一起使用。
【解决方案2】:

NCover 的替代品可以是PartCover,它是一个用于 .NET 的开源代码覆盖工具,与 NCover 非常相似,它包括一个控制台应用程序、一个 GUI 覆盖浏览器和用于CruiseControl.NET 的 XSL 转换。

这是一个非常有趣的产品。

OpenCover 已替换 PartCover。

【讨论】:

【解决方案3】:

JetBrains(ReSharper 成名)一直致力于开发一款名为 dotCover 的覆盖工具。它显示出很大的希望。

【讨论】:

  • dotCover 已于 2010 年 9 月发布并可供购买:jetbrains.com/dotcover
  • dotCover 也是 TeamCity 的一部分,不需要额外的个人许可证
【解决方案4】:

我刚刚测试了NCrunch,不得不说我印象深刻。它是一个持续测试工具,几乎可以实时地在 Visual Studio 中为您的代码添加代码覆盖率。在我写这篇文章的时候,NCrunch 是免费的。不过,目前还不清楚它是免费的、收费的还是在the future 中开源。

【讨论】:

  • 自 2014 年 3 月 20 日起不再免费
【解决方案5】:

TestCocoon 也不错。它正在积极开发中并拥有一个用户社区:

  • 开源(GPL 3)
  • 支持 C/C++/C# 跨平台(Linux、Windows 和 Mac)
  • CoverageScanner - 生成期间的检测
  • CoverageBrowser - 代码覆盖结果的查看、分析和管理

不过,TestCocoon 已不再开发,其创建者现在正在为 C/C++ 制作商业软件。

【讨论】:

  • 当主要开发人员(和 TestCocoon)加入 froglogic 时,TestCocoon 已重命名为 Squish Coco。当前的 Squish Coco 版本还支持 C#。
【解决方案6】:

NCoveravailable for free 有预发布(测试版)版本。它们在大多数情况下都能正常工作,尤其是与 NCoverExplorer 结合使用时。

【讨论】:

  • 似乎不再可用...
【解决方案7】:

我不确定零售版 NCover 有什么区别,但也有一个 NCover project on SourceForge,当然是开源免费的。

【讨论】:

  • Sourceforge 上的版本是当前 NCover 版本的基础。它不再被积极开发/支持,但仍然广泛可用。它们现在达到 3.0 版。
【解决方案8】:

请参阅我公司 Semantic Designs 的 C# Test Coverage 工具:

它的开销非常低,可以处理庞大的文件系统,直观的 GUI,如何覆盖特定文件,并生成包含方法、类和包级别的覆盖率细分的报告。

【讨论】:

  • 鉴于这是一个商业产品,你应该真正指出成本:D
  • 价格显着显示在启动此主题的问题的结果摘要中。
【解决方案9】:

TestMatrix 是一个单元测试运行器和代码覆盖工具。

【讨论】:

    【解决方案10】:

    C# Test Coverage Tool 的开销非常低,可以处理庞大的文件系统,直观的 GUI 显示特定文件的覆盖率,并生成包含方法、类和包级别的覆盖率细分的报告。

    【讨论】:

      【解决方案11】:

      Visual Studio 2010 附带代码覆盖功能以及可编程 API。遗憾的是,仅有 Premium 和 Ultimate 两个版本包含完整的代码覆盖功能。不过,我相信该 API 将适用于任何版本,因此创建代码覆盖率文件并为覆盖率信息编写查看器是可能的。

      【讨论】:

        【解决方案12】:

        我们已将 EAP 发布到 dotCover,并将很快发布测试版。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-03-02
          • 2020-06-16
          • 1970-01-01
          • 2017-01-25
          • 2011-05-10
          • 1970-01-01
          • 2015-07-03
          相关资源
          最近更新 更多