Jacoco服务器代码覆盖率测试工具使用(二)(远程Tomcat Web部署的方式)

本文为系列文章:

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,

TIM截图20180801171253

说明如下(只说关键配置):

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,

TIM截图20180801174001
代码含义如上。

客户端

客户端也可以为Windows或者Linux,这里主要讲Windows的配置方式,Linux自测。

Windows需要配置Java环境,这里略过。

下载Ant

下载Ant包:https://ant.apache.org/bindownload.cgi
101801

下载解压到合适的目录,本示例解压到C:\work\apache-ant-1.10.5

配置环境变量

【计算机】——【属性】——【高级系统设置】——【环境变量】,在系统环境变量下新建ANT_HOME;

然后在系统变量的【PATH】后追加%ANT_HOME%\bin
TIM截图20180801174615
测试安装成功:
CMD输入:ant -version
TIM截图20180801180417

配置build.xml

在ant的安装目录下的bin下新建一个buil.xml文件内容如下:

TIM截图20180801182919

对应的目录结构如下:

TIM截图20180801183001
在ant的bin目录下,打开命令行窗口,输入:ant dump生成jacoco.exec文件。
xyz
输入ant report 生成测试报告。
xyy
在build.xml文件中设置的report文件的保存地址中找到对应的report文件。

绿颜色表示代码被单元测试覆盖到
黄色表示部分覆盖
红色则表示完全没有覆盖到

到此教程结束。

猜你喜欢

转载自blog.csdn.net/qq_32454537/article/details/81337356
今日推荐