文章目录
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
sudoapt-getinstall-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/
- ref:gtest&gmock单元测试&lcov生成覆盖率,展示gtest测试结果 – 将gtest输出的xml结果转化成html展示,链接时如何解决 __gcov_init 未定义的引用问题
版权归原作者 喜欢打篮球的普通人 所有, 如有侵权,请联系我们删除。