7

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

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

4

2 回答 2

2

我正在使用 gcov。

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

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

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

于 2012-11-29T21:21:05.480 回答
2

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

http://www.sonarsource.org/插件

于 2012-12-06T14:35:16.100 回答