Gtest输出单元测试报告和输出覆盖率报告
gtest本身仅能输出xml或者json格式的测试报告,所以采用。编译工具:选择Cmake,单元测试使用Gtest。(2)CMake添加编译以及链接选项、库。(1)ubuntu环境直接安装lcov。地三方工具输出html的报告。环境:gtest已经可以使用。使用gcc的lcov。
·
1.要求
编译工具:选择Cmake,单元测试使用Gtest
2.生成gtest测试报告
gtest本身仅能输出xml或者json格式的测试报告,所以采用gtest2html地三方工具输出html的报告
环境:gtest已经可以使用
(1)clone gtest2html
git clone https://github.com/adarmalik/gtest2html.git
(2)运行
./unitest_program --gtest_output="xml:output.xml"
xsltproc ${WORKSPACE}/gtest2html.xslt "xml:output.xml" >out.html
3.生成gtest覆盖率报告
使用gcc的lcov
(1)ubuntu环境直接安装lcov
sudo apt-get install -y lcov
(2)CMake添加编译以及链接选项、库
target_link_libraries(XXX PRIVATE gcov)
set_target_properties(xxxx
PROPERTIES
COMPILE_FLAGS "-fprofile-arcs -ftest-coverage -O0 -g"
LINK_FLAGS " -lgcov --coverage"
)
(3)运行
./unitest_program
lcov -c -o tests.info -d "build/test/CMakeFiles/tests.dir"
lcov --extract tests.info "*/src/tests/*" "*/include/tests/*" -o tests.info
genhtml tests.info -o cover_report/
lcov 1.10版本以上默认关闭branch覆盖率统计,若要打开,可以参考:使用命令行的方式打开:使用LCOV命令生成覆盖率,或者修改lcov配置文件的方式:lcov使用方法
更多推荐
所有评论(0)