【问题标题】:Code coverage tool for Visual Studio TDD ProjectVisual Studio TDD 项目的代码覆盖率工具
【发布时间】:2012-11-27 14:19:11
【问题描述】:

我的代码是通过测试驱动开发生成的。我的工具是 Visual Studio 2010 express、Google Test、C++98 和最新版本的 boost。我编写了自己的 Mock,但没有使用 Google Mock。

您会向我推荐哪些开源工具,以便我确定代码覆盖率?

【问题讨论】:

  • 注意:如果你使用的是 VS10,你会使用一些 C++11 的底层特性,例如在标准库中移动语义,除非您定义了 _HAS_CPP0X=0
  • @Arne Mertz 是的,我有#define _HAS_CPP0X 0,谢谢!

标签: c++ visual-studio tdd code-coverage googletest


【解决方案1】:

我正在使用 gcov。

现在我的设置相当复杂,我不得不考虑描述它:
我使用了 stl 的 MinGW 发行版,可在 nuwen.net 获得 gcc (g++) 和 gcov。这给了我一定程度的便携性。
我使用 scons 和一个批处理文件构建我的测试应用程序来构建和运行它以检查它是否通过。

然后我将代码提交给版本控制,并且在我自己的机器上运行的 Jenkins CI 服务器拾取它,并且仍然使用 scons 编译它,但这次使用 --coverage 标志。它运行测试应用程序,这次输出 *.gc??文件。然后我运行 gcov 一次,但告诉它所有文件在哪里,这会产生大量 *.gcov 文件。我过去使用过 python 脚本 gcovr.py,但后来我编写了自己的脚本来扫描所有 *.gcov 文件并打印所有未覆盖的行。

我不确定所有这些作品的开源状态,但我知道它们是免费的。

【讨论】:

    【解决方案2】:

    看看 Sonar with c++ Plugin。该工具不仅可以帮助您查看代码覆盖率,还可以帮助您分析重复和代码质量、设计质量等。

    http://www.sonarsource.org/plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多