码迷,mamicode.com
首页 > 编程语言 > 详细

【C++】统计代码覆盖率(三)

时间:2016-07-04 13:49:40      阅读:601      评论:0      收藏:0      [点我收藏+]

标签:

报告集成到jenkins才是最终目的,因此又进行了部分资料查找,得到html和xml报告集成jenkins的配置如下:

一 集成html报告

这种方式集成在你已经用gcov+lcov生成了html报告的基础上,在此只需要将它放到jenkins中,步骤如下:

1 打开jenkins->进入工程->配置->增加构建后操作步骤->Publish HTML reports技术分享                                              技术分享

2 生成html报告:配置->增加构建步骤->Execute shell

  1. cd your_path
    sh exittest.sh(上一节中exit程序的脚本)
    cd your_gcda_gcno_path
    lcov -c -o coverage.info  -b . -d . 
    genhtml coverage.info -o coverage
    cp coverage_result /data/report/coverage   #注意该路径与html报告的读取路径一致

3 运行完毕,即可在jenkins页面左侧和中上侧看到THML Report 点开即可查看详情,如下技术分享

 

二 集成Cobertura的xml报告

集成到Cobertura与集成到html类似,都需要配置构建后步骤和Execute shell,如下

1 jenkins的Cobertura插件

1) jenkins安装插件Cobertura: jenkins页面->系统管理->管理插件,可在该页面搜索安装插件Cobertura

技术分享

2)在工程的配置中,增加构建后操作步骤->Publish Cobertura Coverage Report

技术分享

3) 配置Cobertura

技术分享

2 配置Execute shell,得到xml文件

1)在jenkins的工程配置中增加构建步骤->Execute shell

sudo sh /data/ad_server/exittest.sh
cd your_code_path
sudo gcovr --xml-pretty -r . --output /data/AdServerTest/coverage.xml

2)在jenkins构建后即可查看结果

技术分享

 

三 问题

1 jenkins配置后生成xml报告失败,报错如下:

技术分享

[Cobertura] No coverage results were found using the pattern /data/cppcoverage/xml/coverage.xml relative to /data/AdServerTest.  Did you enter a pattern relative to the correct directory?  Did you generate the XML report(s) for Cobertura?

  原因:jenkins路径未关联,具体我也还没搞清楚,将生成的xml报告更改为jenkins提示的 /data/AdServerTest,路径后即可。

 

2 在查看详细报告时,无法查看具体代码行数覆盖,提示Source code is unavailable,如下:

 技术分享

原因:我还没解决,后续补充

【C++】统计代码覆盖率(三)

标签:

原文地址:http://www.cnblogs.com/zhaoxd07/p/5631644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!