Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio TDD项目的代码覆盖率工具_C++_Visual Studio_Tdd_Code Coverage_Googletest - Fatal编程技术网

C++ Visual Studio TDD项目的代码覆盖率工具

C++ Visual Studio TDD项目的代码覆盖率工具,c++,visual-studio,tdd,code-coverage,googletest,C++,Visual Studio,Tdd,Code Coverage,Googletest,我的代码是通过测试驱动开发生成的。我的工具是VisualStudio2010Express、GoogleTest、C++98和最新版本的boost。我自己写Mock,不使用googlemock 您会向我推荐哪些开源工具,以便我建立代码覆盖率?我正在使用gcov 我的设置相当复杂,现在我不得不考虑如何描述它: 我使用了MinGW发行版by stl,可在for gcc(g++)和gcov上获得。这给了我某种程度的可移植性。 我使用scon和一个批处理文件构建并运行测试应用程序,以检查其通过情况 然后

我的代码是通过测试驱动开发生成的。我的工具是VisualStudio2010Express、GoogleTest、C++98和最新版本的boost。我自己写Mock,不使用googlemock

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

我正在使用gcov

我的设置相当复杂,现在我不得不考虑如何描述它:
我使用了MinGW发行版by stl,可在for gcc(g++)和gcov上获得。这给了我某种程度的可移植性。
我使用scon和一个批处理文件构建并运行测试应用程序,以检查其通过情况

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


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

< P>用C++插件查看Sonar。该工具不仅可以帮助您查看代码覆盖率,还可以对重复和代码质量、设计质量等进行其他分析


注意:如果您使用的是VS10,您可以在后台使用一些C++11功能,例如标准库中的移动语义,除非您定义了_HAS_CPP0X=0@ArneMertz是的,我有定义,谢谢!