背景
搜狗商城现有的接口自动化测试框架是使用Python搭建的,共900多条case,每天都会运行一次,从而监控是否有因开发代码变更或者新功能添加而导致的遗漏的bug。但我们只是依照测试用例来转换成自动化脚本、case,实际上并没有度量的指标,也不能保证测试的完整性,所以我们打算引入代码覆盖率这一指标来度量测试完整性。
我们经常接触的是做单元测试的代码覆盖率,但jacoco也可以进行接口测试的代码覆盖率统计,本篇文章主要介绍使用jacoco+ant来统计tomcat服务的测试代码。其中:
Jacoco是一个开源的覆盖率工具,通过插桩方式来记录代码执行轨迹。
Ant 是Java的生成工具,类似于Unix中的Make工具,都是用来编译、生成,ant运行时需要一个XML文件(构建文件)。
环境部署
一、流程
启动服务携带jacocoagent参数
生成jacoco.exec
ant任务生成覆盖率
二、安装jacoco
Jacoco安装比较简单,下载后,放到合适的位置,解压即可。
#下载并解压jacoco
wget http://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.4/jacoco-0.8.4.zip
unzip jacoco-0.8.4.zip
目录结构如下图所示:
jacocoagent: