测试覆盖率 JaCoCo 增量覆盖率二次开发

hello · 2019年08月19日 · 最后由 z1768296164 回复于 2021年08月18日 · 5677 次阅读

需求背景

现在产品迭代更新很快,存量代码较多时,依据全量覆盖率来判断对新增代码的自测完成度是不太科学的,每次迭代全量覆盖的话对测试的压力也是很大的。增量代码覆盖率工具就越来越适合实际需要了,集成到 DevOps 平台上,每次发布时,拉取增量覆盖率,来作为衡量测试质量的一个维度需求很迫切。

方案调研

社区也有很多分享关于增量代码覆盖率的工具,看下来基本都是基于 JaCoCo 二次开发的。很多公司也都应用到自己的生产线上了。

个人现状

作为一个想码点东西,提高质量的测试者一员,很想二次开发一下 JaCoCo,来提高项目的上线质量。无奈很多基于公司的代码安全需求的原因都没开源。拉下 JaCoCo 代码后,编译打包后配置到 Tomcat 里,Tomcat 就启动不了(秒挂,日志都没输出)。用官网提供的 jar 是可以的。
社区各位老师可否指点一下。

另召集一下想一起搞这个的各路英雄,一起开发一下,众人拾柴。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

通过 jgit 获取变更的 类名方法名,这块好搞定。

编译输出
[INFO] --------------------------< org.jacoco:root >---------------------------
[INFO] Building root 0.8.4 [27/27]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for root 0.8.4:
[INFO]
[INFO] JaCoCo ............................................. SUCCESS [ 17.940 s]
[INFO] JaCoCo :: Core ..................................... SUCCESS [01:54 min]
[INFO] JaCoCo :: Report ................................... SUCCESS [ 18.419 s]
[INFO] JaCoCo :: Agent RT ................................. SUCCESS [ 31.485 s]
[INFO] JaCoCo :: Agent .................................... SUCCESS [ 10.131 s]
[INFO] JaCoCo :: Ant ...................................... SUCCESS [ 20.899 s]
[INFO] JaCoCo :: Command Line Interface ................... SUCCESS [ 23.593 s]
[INFO] JaCoCo :: Examples ................................. SUCCESS [ 8.065 s]
[INFO] JaCoCo :: Maven Plugin ............................. SUCCESS [ 31.446 s]
[INFO] JaCoCo :: Tests .................................... SUCCESS [ 0.629 s]
[INFO] JaCoCo :: Test :: Core ............................. SUCCESS [ 5.956 s]
[INFO] JaCoCo :: Test :: Core :: Validation ............... SUCCESS [ 0.072 s]
[INFO] JaCoCo :: Test :: Core :: Validation Java 5 ........ SUCCESS [ 7.495 s]
[INFO] JaCoCo :: Test :: Core :: Validation Kotlin ........ SUCCESS [01:50 min]
[INFO] JaCoCo :: Test :: Core :: Validation Java 7 ........ SUCCESS [ 5.167 s]
[INFO] JaCoCo :: Test :: Core :: Validation Java 8 ........ SUCCESS [ 2.053 s]
[INFO] JaCoCo :: Test :: Core :: Validation Groovy ........ SUCCESS [ 54.712 s]
[INFO] JaCoCo :: Test :: Report ........................... SUCCESS [ 8.800 s]
[INFO] JaCoCo :: Test :: Agent RT ......................... SUCCESS [ 2.587 s]
[INFO] JaCoCo :: Test :: Agent ............................ SUCCESS [ 1.402 s]
[INFO] JaCoCo :: Test :: Ant .............................. SUCCESS [ 2.768 s]
[INFO] JaCoCo :: Test :: Command Line Interface ........... SUCCESS [ 4.101 s]
[INFO] JaCoCo :: Test :: Examples ......................... SUCCESS [ 3.891 s]
[INFO] JaCoCo :: Test :: Maven Plugin ..................... SUCCESS [ 1.289 s]
[INFO] JaCoCo :: Documentation ............................ SUCCESS [05:00 min]
[INFO] JaCoCo :: Distribution ............................. SUCCESS [ 30.872 s]
[INFO] root ............................................... SUCCESS [ 0.002 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13:39 min
[INFO] Finished at: 2019-08-19T15:52:54+08:00
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0

@AngryTester 大佬可以指点一下么

想给拦截请求 加个标签 不知道怎么搞

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册