本文为系列文章:
Jacoco服务器代码覆盖率测试工具使用(一)(IDEA插件的方式)
Jacoco服务器代码覆盖率测试工具使用(二)(远程Tomcat Web部署的方式)
前言
前面介绍了使用IDEA的方式进行代码覆盖率测试,当然这种方式是有一种局限就是只能在本地跑,而且需要安装IDEA的插件(Eclipse貌似插件下不了,也就不能使用了),如果想要测试已经部署在服务器上的Web项目的代码覆盖率的话,就需要用到下面说到的方法。
远程的服务器有Tomcat,galssfish等等,也可能用到一些中间件,如金蝶中间件等等。所以不同的远程服务器可能配置方式不同,但原理一样。
安装部署前的说明
本文主要是用到ant + jacoco的方式进行部署的。分为服务器和客户端,分别需要安装的软件环境配置如下:
服务器端: Java环境(这个肯定是有的,因为部署Tomcat这些是需要用到Java的),Jacoco JAR包;
客户端: Java环境,Ant环境,Jacoco JAR包。
需要安装的东西打包下载:
服务器端
服务器端我分为两部分来说明,一个是Windows的服务器端,一个是Linux的服务器端,读者可以根据你自己的服务器系统来选择看哪部分的说明。服务器端使用的服务器环境统一为Tomcat。
Windows端
安装Jacoco
在合适的目录,比如我直接就在C盘,把Jacoco的文件夹拷贝到此处就行,当然你也可以选择其他地方。
修改服务器启动参数
首先打开tomcat的安装位置,找到bin目录下的catalina.bat文件,使用notepad++打开,添加以下代码:
set JAVA_OPTS=%JAVA_OPTS% -javaagent:C:\jacoco\lib\jacocoagent.jar=includes=*,output=tcpserver,address=192.168.73.130,port=4399,append=true,
说明如下(只说关键配置):
A: 这段需要注意的是,写的是实际的Jacoco的jacocoagent.jar的位置,如果你是放在其他地方的,一定要保证其在服务器本地是可达状态的。
B: 此处写的是服务器端的IP地址。
C: 此处是开放的端口,是指服务器上要开放给客户端的端口,只要是不被占用的端口号就可以。
服务器上的配置到此就结束了。
Linux端
Linux作为服务器是很多公司或者个人开发者的首选,Linux深度可配置,而且效率比Windows要高。
在Linux上也需要进行配置。
Jacoco安装
首先是Jacoco的安装,同Windows的安装一样,放在合适的位置,示例是放在/home/dimple/Depo/jacoco目录下
修改服务器启动参数
修改Tomcat的catalina.sh文件
加入如下代码:
-javaagent:home/dimple/Depo/jacoco/lib/jacocoagent.jar=includes=*,output=tcpserver,address=192.168.73.130,port=4399,append=true,
代码含义如上。
客户端
客户端也可以为Windows或者Linux,这里主要讲Windows的配置方式,Linux自测。
Windows需要配置Java环境,这里略过。
下载Ant
下载Ant包:https://ant.apache.org/bindownload.cgi
下载解压到合适的目录,本示例解压到C:\work\apache-ant-1.10.5
配置环境变量
【计算机】——【属性】——【高级系统设置】——【环境变量】,在系统环境变量下新建ANT_HOME;
然后在系统变量的【PATH】后追加%ANT_HOME%\bin
测试安装成功:
CMD输入:ant -version
配置build.xml
在ant的安装目录下的bin下新建一个buil.xml文件内容如下:
对应的目录结构如下:
在ant的bin目录下,打开命令行窗口,输入:ant dump生成jacoco.exec文件。
输入ant report 生成测试报告。
在build.xml文件中设置的report文件的保存地址中找到对应的report文件。
绿颜色表示代码被单元测试覆盖到
黄色表示部分覆盖
红色则表示完全没有覆盖到
到此教程结束。