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
C++ 使用lcov对.cpp文件进行单元测试时排除头文件覆盖率_C++_Code Coverage_Googletest_Lcov - Fatal编程技术网

C++ 使用lcov对.cpp文件进行单元测试时排除头文件覆盖率

C++ 使用lcov对.cpp文件进行单元测试时排除头文件覆盖率,c++,code-coverage,googletest,lcov,C++,Code Coverage,Googletest,Lcov,我已经为unittest生成了html代码覆盖率。问题在于,它为include预处理器中定义的所有内容生成代码覆盖率 unittest的codecoverage位于代码覆盖率报告的unittest链接中。我只需要单元测试 在生成代码覆盖率之前,我还删除了所有其他内容,并保留了测试文件的gcda和gcno文件,但仍然没有任何帮助。执行此操作的代码是: find obj/ ! -name '*_unittests*' -type f -delete 代码覆盖率报告如下所示: 我试图在includ

我已经为unittest生成了html代码覆盖率。问题在于,它为include预处理器中定义的所有内容生成代码覆盖率

unittest的codecoverage位于代码覆盖率报告的unittest链接中。我只需要单元测试

在生成代码覆盖率之前,我还删除了所有其他内容,并保留了测试文件的gcda和gcno文件,但仍然没有任何帮助。执行此操作的代码是:

find obj/ ! -name '*_unittests*' -type f -delete
代码覆盖率报告如下所示:

我试图在include预处理器的开头和结尾添加LCOV_EXCL_START和LCOV_EXCL_STOP,如下所示,但仍然没有帮助

LCOV_EXCL_START
#include <inttypes.h> 
#include "../src/generators/buffersss.h" 
#include "gtest/gtest.h"
#include <getopt.h>  
LCOV_EXCL_STOP
Test code goes here.....
LCOV\u EXCL\u启动
#包括
#包括“./src/generators/buffersss.h”
#包括“gtest/gtest.h”
#包括
LCOV_不包括停止
测试代码在这里。。。。。

我在这里做错了什么?

下面的代码解决了这个问题

lcov --remove coverage.info '/usr/include/*' 'src/*' -o filtered_coverage.info