我正在创建boost单元测试用例,我需要获得相同的代码覆盖率。我计划使用GCOV和LCOV来获得代码覆盖率。有人能帮助我在Jamfile中获得GCOV和LCOV与bjam集成的配置吗?
发布于 2015-04-22 04:44:14
尝尝这个。根据你的要求编辑它。
单元测试MyTest : MyTest.cpp库:-std=gnu++0x-配置文件-arcs-测试-覆盖-覆盖-lgcov共享: gcov;
发布于 2016-04-12 11:43:13
这样做的一个好方法是定义一个单独的变体(类似于调试和发布变体)。
这将在“调试”变体的基础上创建一个新的“覆盖率”变量,并提供其他覆盖选项:
variant coverage : debug : <cxxflags>"-fprofile-arcs -ftest-coverage"
<linkflags>"-lgcov" ;这种方法的优点是覆盖构建将进入一个单独的目录结构。否则,带有或不包含覆盖率选项的文件将在相同的目录中结束,这将导致链接错误。这些问题通常必须用bjam -a来解决,它可以工作,但在覆盖和调试之间切换时需要完全重新构建,而这种转换在变体方法中是不必要的。
若要触发覆盖生成,请使用:
bjam variant=coveragehttps://stackoverflow.com/questions/29675191
复制相似问题