我的假设情景如下:
现在,我的git diff和jacoco信息的交集是覆盖了10行代码中的7行。即 - 我对新代码的覆盖率为70%。
但我必须手动完成这项工作。
我想要一种自动化的方法来计算出涵盖了多少新代码行的百分比。
我的问题是:有没有办法只在新代码上获得单位覆盖百分比(例如来自jacoco)?
(注意我知道sonarqube可以执行此操作,如果您使用analysis.mode=publish
运行扫描程序并使用JSON API查询任务结果 - 我正在寻找开发人员可以在本地运行的轻量级内容。)
答案 0 :(得分:0)
已阅读以下内容: https://juliangamble.com/blog/2017/09/01/commit-level-coverage-reporting/
然后使用此项目: https://github.com/juliangamble/commit-level-coverage-report
答案 1 :(得分:0)
Jacoco + diff-cover
对我来说这是工作。 CI Shell脚本:
export PATH="${jobPath}"/buildbox/Python-3.8.2/bin:$PATH
python --version
python -m pip install -i http://xx.xx.xx.com/artifactory/api/pypi/xx-pypi-public/simple/ --trusted-host xx.xx.xx.com diff_cover==4.0.1
mvn clean test -Dmaven.test.failure.ignore=true
diff-cover "${WORKSPACE}"/xxx-test/target/site/jacoco/jacoco.xml --compare-branch origin/"${target_branch}" --src-roots $(find . -name java -type d | grep 'src/main/java$' | egrep -v "target|test|testkit") --html-report ${WORKSPACE}/xxx-test/target/site/jacoco/index.html
答案 2 :(得分:0)