c++ - Visual Studio TDD 项目的代码覆盖工具

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

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

您会推荐哪些开源工具来确定我的代码覆盖率?

最佳答案

我正在使用 gcov。

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

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

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

关于c++ - Visual Studio TDD 项目的代码覆盖工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586214/

相关文章:

c++ - 反调试 - 用于 int 3 断点检测的计算函数内存占用

visual-studio - Visual Studio 未正确运行已转换的配置文件

c# - 如何组织单元测试而不让重构成为噩梦?

entity-framework - 在解决方案中添加现有项目 - 导致引用命名空间错误

C++:寻找一种简洁的解决方案,用特定字符替换 std::string 中的一组字符

c++ - M_PI 适用于 math.h 但不适用于 Visual Studio 中的 cmath

c++ - 在不明确的情况下使用限定 ID 访问类成员

android - 是单元测试还是集成测试?

GWT RequestBuilder 因 SSL 连接而失败(在测试中)。为什么?有什么解决方法吗?

c++ - 如何创建进程并让它们执行不同的分配任务,例如使用 fork 从文件读取或写入文件