c – CMake / CTest代码覆盖率检查
我可以在
this维基页面之后使用cmake进行覆盖检查.这非常简单,设置一个仪表板,我可以在浏览器上查看代码覆盖率(后一部分).但我不想每次只测试单个文件的进度.实际上,我想在本地检查子目录的代码覆盖率而不是使用第三方代码的enitre库.
那么,我们如何检查子目录的代码覆盖率.当然,我使用add_test(….)在cmakelists.txt中编写了一个测试. 我将尝试解释一点没有任何代码. Class A { public: A() {} .... so many methods .. .... protected: ~A() {} }; //end class A 接下来我写了一个测试: //testA int main() { A *a = new A(); a->method1(); a->method2(); ... } 现在在CMakeLists.txt中,我有: add_test(testA ...) 因此,当我运行ctest时,它将运行包括TestA在内的所有测试.当然,我可以使用ctest -R“TestA”. 现在回到这个问题,我怎样才能检查A类的覆盖范围.没有运行所有测试或只运行testA? 解决方法
我创建了一个cmake脚本,用于生成用于
http://coveralls.io/服务的覆盖数据(开源项目免费).
该脚本允许您准确指定要从中收集代码覆盖率的文件(与大多数允许您排除文件的脚本相比).所以你可以提交(GLOB你感兴趣的文件或手动指定它们.这个脚本也可以修改为简单地运行lcov并生成本地html报告. https://github.com/JoakimSoderberg/coveralls-cmake 如果你对http://coveralls.io/不感兴趣,那么这是另一个使用lcov生成本地html报告的脚本: https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |