在docker中使用jacoco的方法

这篇文章主要介绍“在docker中使用jacoco的方法”,在日常操作中,相信很多人在在docker中使用jacoco的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在docker中使用jacoco的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十余年网站建设经验成都创新互联是成都老牌网站营销服务商,为您提供做网站、网站设计、网站设计、H5响应式网站、网站制作、品牌网站建设、微信小程序定制开发服务,给众多知名企业提供过好品质的建站服务。

jacoco一款主流的统计代码测试覆盖率的工具,最近研究了下在docker下的用法。

jacoco官网(https://www.jacoco.org),建议大家先看一下官网说明,看完基本就明白怎么用了。我是基于docker和jacoco的0.8.6版本进行搭建的。不基于docker的场景,使用更简单,不单独说明了。

1. 把文件打进docker镜像

既然用docker,就要把jacocoagent.jar打进镜像,比如我的jacocoagent.jar文件在镜像的/app/jacoco/jacocoagent.jar目录下

2. 增加JVM启动参数

从jacoco官网(https://www.jacoco.org/jacoco/trunk/doc/agent.html)上,可以看到获取测试覆盖率文件分为三种方式,分别是:

  • . 输出文件,只有当JVM结束时才能生成本地文件

  • .  TCP Socket Server 模式, 通过socket端口连接获取到测试覆盖率数据

  • .  TCP Socket Client 模式, Jacoco agent会连接到指定的TCP端,请求时执行数据写到socket

我采用的 TCP Socket Server模式。需要在JVM启动时,增加参数:

-javaagent:/app/jacoco/jacocoagent.jar=output=tcpserver,address=0.0.0.0,port=7500

注意:因为是基于docker,所以address需要写0.0.0.0。  port随意。

注意在镜像发布后,找到该应用的虚拟地址(不是node机器地址),比如我的发布后是10.2.8.161

3. ANT

在客户端机器上,安装ant,配置build.xml。示例如下,注意替换你的ant安装地址,并把jacocoant.jar复制到对应目录下:


   
    
    
    


    
      
    
    
    
        
    

执行命令:ant dump -Dip=10.2.8.161

即可把测试覆盖率文件jacoco.exec下载下来。

4. 生成HTML

在应用的POM里面增加:


                org.jacoco
                jacoco-maven-plugin
                0.8.6
                                    
                    jacoco.exec                    
                    jacoco.exec
                
                
                    
                        jacoco-initialize
                        
                            prepare-agent
                        
                    
                    
                        jacoco-site
                        test
                        
                            report
                        
                    
                
            

把下载的jacoco.exec放到pom平级目录下。

执行report命令

在docker中使用jacoco的方法

然后在target目录下会有sit子目录,即为生成的HTML文件,用浏览器打开即可。

到此,关于“在docker中使用jacoco的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前题目:在docker中使用jacoco的方法
本文URL:http://ybzwz.com/article/jedcii.html