我想出了下面的代码(jenkins管道)来运行UT并为我的Python应用程序生成覆盖率报告。现在,如果代码覆盖率低于80%,我希望构建失败,但不确定是否有现成的库来验证Python的覆盖率报告,比如Java项目的Jacoco或Cobertura。还是我的理解不正确?
def call(Map params = [:]) {
dir(params.testDir) {
if (params.env == 'python') {
sh "python -m pytest --verbose --cov=${params.testDir} --cov-report=xml:coverage.xml --cov-report html:coverage --junit-xml=unittest.xml test"
junit testResults: "*.xml", skipPublishingChecks: true
}
}
}
我看到了这个代码片段,但coberturaAdapter是否适用于我的情况,因为我使用pytest?
script {
def failed = publishCoverage (failUnhealthy: true,
globalThresholds: [[thresholdTarget: 'Package', unhealthyThreshold: 50.0]],
adapters: [coberturaAdapter(
mergeToOneReport: true,
path: '**/*.cobertura.xml')])
if (failed) {
currentBuild.result = 'FAILURE'
currentBuild.displayName = "${currentBuild.displayName} Coverage"
currentBuild.description = "Coverage lower than 50%"
}
}
1条答案
按热度按时间iugsix8n1#
你可以添加一个pytest参数:
--cov-fail-under=MIN
使构建失败。或者,您也可以在执行pytest之后添加后续命令:
阅读更多: www.example. com 和 www.example.com