服务端代码覆盖率

1.单元测试覆盖率:

maven命令的方式:

1.生成jacoco.exec:

mvn org.jacoco:jacoco-maven-plugin:prepare-agent clean test -Dmaven.test.failure.ignore=true

2.生成index.html

cd 模块 java -jar jacoco-0.8.4/lib/jacococli.jar report target/jacoco.exec --classfiles target/classes --html target/site/jacoco/

添加maven依赖的方式:

在项目root目录 pom.xml中添加:

                org.jacoco

                jacoco-maven-plugin

                0.8.5

               

                   

                        default-prepare-agent

                       

                            prepare-agent

                       

                   

                   

                        default-report

                        test

                       

                            report

                       

                   

                   

                        default-check

                       

                            check

                       

                   

               

           

运行 mvn test 即可在target/site/jacoco文件夹下生成报告。

如果想要跳过失败的测试用例,请使用 mvn test -Dmaven.test.failure.ignore=true.

2.增量覆盖率:

原理:

①先得到单元测试覆盖率;

②diff代码,指定工程根目录和需要处理的子模块及对比的版本.计算增量代码覆盖率,并标记修改覆盖率报告.

python main.py -d . -m xmpush-common-spring-boot-starter -o 80e8d5220f906f1242736dc77ac8ef10947ff0fc

3.黑盒测试覆盖率:

原理:on the fly模式.通过javaagent代理实现.

tomcat项目:

1.配置Tomcat

1.1 把解压获取到的jacoco下的lib\jacocoagent.jar 文件放到tomcat安装路径\lib 下

1.2 配置Tomcat  \bin\catalina.bat文件,添加如下

# -javaagent: 的后面跟jacoco的安装路径

# includes= 选项,选择你要覆盖率的服务,例如com.baidu.*

# port= 选项,选择你要打开的端口

# address= 选项,tomcat服务所在机器的ip地址(如果想在跟tomcat服务同一台机器上执行ant任务的话,需要改为127.0.0.1)

set JAVA_OPTS="-javaagent:%CATALINA_BASE%\lib\jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=127.0.0.1"

2.部署项目

打包你的java工程项目到Tomcat 下的 \webapps 目录下,并启动Tomcat.

3.启动项目

如果是springboot项目:

配置Vm

options:-javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=8089,address=127.0.0.1

访问项目提供的API进行测试.

Ant 构建获取代码覆盖率:

在服务器上,新建 build.xml 如下

   

       

   

   

       

       

   

   

       

           

               

           

           

               

               

                   

                       

                       

                   

                   

                       

                       

                   

               

           

           

           

       

   

ant dump生成jacoco.exec文件

ant report 生成report文件(如果通过Jenkins插件这步骤可免)

生成报告地址是build.xml 中配置的。

查看报告>http://127.0.0.1:8089


你可能感兴趣的:(服务端代码覆盖率)