我采用测试驱动开发方式编写代码。使用的工具包括Visual Studio 2010 express,Google Test,C++98和最新版本的boost。我编写自己的Mock,不使用Google Mock。
你能推荐哪些开源工具帮助我进行代码覆盖率分析?
我采用测试驱动开发方式编写代码。使用的工具包括Visual Studio 2010 express,Google Test,C++98和最新版本的boost。我编写自己的Mock,不使用Google Mock。
你能推荐哪些开源工具帮助我进行代码覆盖率分析?
看看带有C++插件的Sonar。这个工具不仅可以帮助您查看代码覆盖率,还可进行其他分析,例如重复性、代码质量和设计质量等。
我正在使用gcov。
我的设置相当复杂,因为我需要考虑描述它:
我使用了stl提供的MinGW发行版,可在nuwen.net上获取gcc(g ++)和gcov。这使得我的程序具有一定的可移植性。
我使用scons和批处理文件构建我的测试应用程序,并运行它以检查它是否通过。
然后,我将代码提交到版本控制中,我的机器上运行的Jenkins CI服务器会接收到它,并且仍然使用scons进行编译,但这次使用--coverage
标志。它运行测试应用程序,这次输出*.gc??文件。然后,我只需运行一次gcov,但告诉它所有文件的位置,这将生成大量*.gcov文件。过去,我曾经使用过Python脚本gcovr.py
,但现在我已经编写了自己的脚本来扫描所有*.gcov文件并打印所有未覆盖的行。
我不确定所有这些部分的开源状态,但我知道它们是免费的。