Gitlab上的readme顯示單元測試覆蓋率
公司的項目需要需要很直觀的看到單元測試的覆蓋率,於是研究了一下。其實在gitlab的官網上,是有一個demo的。示例如下圖:

要把這個鏈接粘到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
2.在上面一開始的那個圖配置解析的正在表達式
\d+.\d+ \% covered
在github上有人提出來:https://github.com/jacoco/jacoco/pull/488
3.最終結果就可以展示出來了