JACOCO的坑【2】
来源:互联网 发布:贪心算法题目 编辑:程序博客网 时间:2024/05/18 14:15
jacoco的坑续集
本来放假打算好好玩一下。放松一下自己的。但是女朋友生病了,要照顾她。趁她吃了药睡着了。顺手把之前的坑给填上好了。jacoco用来收集spring boot的项目的覆盖率有几种做法。之前就说过,我采取的是远程的javaagent的方式。产生jacoco.exec文件。然后用maven的插件来运行得到覆盖率报告。其实还有别的做法:
- 直接使用eclispe插件
远程链接jacoco的agent,实时得到覆盖率的情况
今天就来试一下这两种方式:
ecipse插件
首先,我们得先安装一个eclipse的插件
http://update.eclemma.org/
、
这里会根据你的eclipse的版本,自动安装对应的插件版本。这里不赘述了。
第二步,得现有一个能用的spring boot项目。我这里准备了一个,有兴趣的可以直接到github下载。
jacocoDemo
核心程序很简单。模拟一个订单的金额计算,有几个分支:
package com.retinder.web.jacocoDemo;import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;@Controller@EnableAutoConfigurationpublic class App { @RequestMapping("/plusPrice") @ResponseBody int plusPrice(int price,int num) { if (price < 0 | num < 0) { return -1; } if(num>1000) { return -1; } return price * num; } public static void main(String[] args) throws Exception { SpringApplication.run(App.class, args); }}
然后,我们用插件调起这个web工程:
然后我们用postman或者其他web测试工具,调起这个网页的接口
选择导出一下执行的数据:
就可以看到代码覆盖的情况。可以看到。简单的几种组合测试,已经覆盖了代码的所有场景。测试相当充分:)
实时获取代码覆盖率
java -javaagent:jacocoagent.jar=includes=com.retinder.*,classdumpdir=classes,output=tcpserver,port=6300,address=127.0.0.1 -jar jacocoDemo-0.0.1-SNAPSHOT.jar
这里我们采用这种方式启动。然后我们用jacoco提供的客户端代码,简单的获取覆盖率的情况。
http://www.eclemma.org/jacoco/trunk/coverage/org.jacoco.examples/index.html
简单的写一下client模块跟reportgenerator,就可以持续的生成覆盖率了。
然而,这里有个新坑。并无法生成预期的报告。报告里边总是说我的覆盖率为0.
好吧。这个是个新坑。。以后有空再填回来。
阅读全文
1 0
- JACOCO的坑【2】
- JACOCO的坑
- Jacoco
- Jacoco
- Powermock and sonar jacoco的覆盖率不兼容问题解决 2
- jacoco的maven插件使用
- JACOCO的xx系统实践
- jacoco的maven插件使用
- Jacoco覆盖率信息收集2
- 單元測試覆蓋率工具JaCoCo的使用介紹
- Jacoco动态监测Web项目的覆盖率
- jacoco在pom文件里面的配置
- JaCoCo:分析单元测试覆盖率的利器
- JaCoCo:分析单元测试覆盖率的利器
- JaCoCo:分析单元测试覆盖率的利器
- JaCoCo:分析单元测试覆盖率的利器
- Jacoco生成java覆盖率报告的两种方式
- Powermock and sonar jacoco的覆盖率不兼容问题解决 1
- 图像处理之Matlab图像读取
- USACO Section1.2 Palindromic Squares
- 二叉树的三种遍历递归法和非递归法(前序、中序、后续)
- Tensorflow进行深度学习(第二)
- 1011: 圆柱体表面积
- JACOCO的坑【2】
- 【Mysql】Hash索引与Btree索引
- 1012: 求绝对值
- 动态规划——经典例题(一)
- 体系结构—简单工厂模式
- 1013: 求两点间距离
- matlab遍历子文件夹并获取子文件夹名字以及绝对路径
- 关于Java中的"=="、equals和"="
- poj1961 period