如何在 Jenkins 管道中指定 Clover CoverageTarget 指标?
How to specify Clover CoverageTarget Metrics in Jenkins Pipeline?
我正在使用 Clover 插件 (https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin) 来发布我的覆盖率指标。
此外,我已经配置了 "coverage target metrics",如下所示 E:
现在我已经开始使用 Jenkins 2.0 Pipelines 插件,我如何通过 Groovy 脚本指定这些目标指标(如果覆盖率不满足,构建将失败。)
我认为你应该使用
step([$class: 'CloverPublisher', cloverReportDir: 'target/site/clover', cloverReportFileName: 'clover.xml'])
所以我得到的解决方案是:
在您的 package.json 中定义这些任务:
"test": "mocha test/ && npm run-script coverage",
"coverage": "npm run-script analyze-coverage && npm run-script check-coverage",
"analyze-coverage": "istanbul cover _mocha -- -R tap test/*.js > test.tap && istanbul report clover",
"check-coverage": "istanbul check-coverage --lines 80"
现在 npm test
如果代码覆盖率(行数)低于 80%(请参阅 istanbul npm 模块了解更多选项)
这实际上消除了Clover Plugin中指定阈值的依赖,从而解决了问题。
谢谢
拉姆亚
示例:
step([
$class: 'CloverPublisher',
cloverReportDir: 'target/site',
cloverReportFileName: 'clover.xml',
healthyTarget: [methodCoverage: 70, conditionalCoverage: 70, statementCoverage: 70], // optional, default is: method=70, conditional=80, statement=80
unhealthyTarget: [methodCoverage: 50, conditionalCoverage: 50, statementCoverage: 50], // optional, default is none
failingTarget: [methodCoverage: 0, conditionalCoverage: 0, statementCoverage: 0] // optional, default is none
])
参考:https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin
我正在使用 Clover 插件 (https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin) 来发布我的覆盖率指标。
此外,我已经配置了 "coverage target metrics",如下所示 E:
现在我已经开始使用 Jenkins 2.0 Pipelines 插件,我如何通过 Groovy 脚本指定这些目标指标(如果覆盖率不满足,构建将失败。)
我认为你应该使用
step([$class: 'CloverPublisher', cloverReportDir: 'target/site/clover', cloverReportFileName: 'clover.xml'])
所以我得到的解决方案是:
在您的 package.json 中定义这些任务:
"test": "mocha test/ && npm run-script coverage",
"coverage": "npm run-script analyze-coverage && npm run-script check-coverage",
"analyze-coverage": "istanbul cover _mocha -- -R tap test/*.js > test.tap && istanbul report clover",
"check-coverage": "istanbul check-coverage --lines 80"
现在 npm test
如果代码覆盖率(行数)低于 80%(请参阅 istanbul npm 模块了解更多选项)
这实际上消除了Clover Plugin中指定阈值的依赖,从而解决了问题。
谢谢 拉姆亚
示例:
step([
$class: 'CloverPublisher',
cloverReportDir: 'target/site',
cloverReportFileName: 'clover.xml',
healthyTarget: [methodCoverage: 70, conditionalCoverage: 70, statementCoverage: 70], // optional, default is: method=70, conditional=80, statement=80
unhealthyTarget: [methodCoverage: 50, conditionalCoverage: 50, statementCoverage: 50], // optional, default is none
failingTarget: [methodCoverage: 0, conditionalCoverage: 0, statementCoverage: 0] // optional, default is none
])
参考:https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin