您的位置:首页 > 其它

单元测试覆盖率生成网页报告----(一)

2015-07-24 21:46 232 查看
在C++中单元测试的框架有很多,但是能够生成覆盖率报告的却很少,接下来带大家一步一步集成测试环境。

本次我们选用的测试软件是OpenCppCoverage,相关内容可以访问主页:https://opencppcoverage.codeplex.com/ 首先在下载OpenCppCoverage
0.9.2.1 (64 bits)并安装(本次所有软件和开发环境都是基于x64),然后配置jenkins。

1、jenkins的安装

下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war/1.620/jenkins.war

功能:

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

(1) 持续的软件版本发布/测试项目。

(2) 监控外部调用执行的工作。

启动:

首先保证系统中已经安装了jdk,最好是jdk1.5以上。

第一种启动方法,切换到jenkins.war存放的目录,输入如下命令:

$ java -jar jenkins.war

然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins

第二种方法是用tomcat打开

解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat

将jenkins.war文件放入tomcat下的webapps目录下,jenkins会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样,应修改为localhost:8080/jenkins。

配置:

当java和tomact环境安装好以后,在浏览器中输入网址:localhost:8080/jenkins就会跳转到jenkins主界面:



在系统管理-->系统设置中配置jdk路径:

新建:

在配置中基本就是这三个地方需要注意

下面主要讲一下命令行代码的含义:

cd /d C:\Users\handh\.jenkins\workspace\test5
del Coverage.xml
cd /d F:\VSWorkSpace\Server\test1
svn update
cd /d  F:\VSWorkSpace\Server\test1\x64\Debug
OpenCppCoverage.exe --sources F:\VSWorkSpace\Server\test1\test2 --export_type=cobertura:C:\Users\handh\.jenkins\workspace\test5\Coverage.xml -- test2.exe
这些都是Dos下可以执行的命令,在我本地配置配置如图


OpenCppCoverage.exe --sources path --export_type=cobertura -- YourProgram.exe


会默认在你的exe文件内生成一个XXCoverage.xml文件(XX为你的程序名),网页报告就是根据这个xml文件生成的。但是jenkins不会再exe所在的文件查找xml文件,而是会在C:\Users\handh\.jenkins\workspace\YourProgram中查找,所以在执行改代码前要先把C:\Users\handh\.jenkins\workspace\YourProgram中的xml文件删除:

cd /d C:\Users\handh\.jenkins\workspace\test5
del Coverage.xml


至于

cd /d F:\VSWorkSpace\Server\test1
svn update


这两句是用svn更新本地工程文件的,在后面将会讲到

因此,我们在生成xml文件时要在C:\Users\handh\.jenkins\workspace\YourProgram中生成,所以:

OpenCppCoverage.exe --sources F:\VSWorkSpace\Server\test1\test2 --export_type=cobertura:C:\Users\handh\.jenkins\workspace\test5\Coverage.xml -- test2.exe


其中--export_type=cobertura:C:\Users\handh\.jenkins\workspace\test5\Coverage.xml 表示----export_type=type:export_path

更多命令解析详见https://opencppcoverage.codeplex.com/wikipage?title=Command-Line%20Reference

所有的配置完成后保存即可,然后点击“立即构建”



如果构建结果成功的话,应该会出现蓝色原点,而且控制台输出 为success



点击“Coverage Report”可以查看报告:




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: