Gitlab上的readme显示单元测试覆盖率

Gitlab上的readme显示单元测试覆盖率

公司的项目需要需要很直观的看到单元测试的覆盖率,于是研究了一下。其实在gitlab的官网上,是有一个demo的。示例如下图:

image-20210701200322723

image-20210701200403407

要把这个链接粘到README.md的行首才可以,不然会读不出数据。具体的数据就要从jacoco的报告中进行读取,那个正在解析的值就是算出来的值。

1 在Gitlab CI yaml中的进行配置,就是最后一行重要,算出的其实一个是值。

# 静态扫描
static_scan:
  <<: *staticScanDef  
  image: dk.uino.cn/sonar/maven:1.0.13
  script:
    # 扫描路径sonar.sources需要对应修改,也可以在根目录下新建sonar-project.properties文件配置,不过没有-D。
    # update by WGR. soanrqube 8以后只能通过sonar.coverage.jacoco.xmlReportPaths这个整合覆盖率
    - kiss -Dsonar.sources=src -Dsonar.exclusions=**/test/**,**/target/** -Dsonar.java.coveragePlugin=jacoco -Dsonar.coverage.jacoco.xmlReportPaths=/builds/uino-framework/framework/framework-web/target/site/jacoco/jacoco.xml
    - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print 100 *covered/instructions, "% covered" }' /builds/uino-framework/framework/framework-web/target/site/jacoco/jacoco.csv
  # allow_failure: true

image-20210701201127512

2.在上面一开始的那个图配置解析的正在表达式

d+.d+ \% covered

在github上有人提出来:https://github.com/jacoco/jacoco/pull/488

3.最终结果就可以展示出来了

image-20210701201529773

原文地址:https://www.cnblogs.com/dalianpai/p/14960607.html