ebn*_*ius 42 cobertura jenkins jenkins-pipeline
我正在使用jenkins的管道插件,我想为每次运行生成代码覆盖率报告,并将其与管道ui一起显示.是否有一个我可以用来做这个插件(例如Cobertura,但似乎没有管道支持)?
Rom*_*lak 38
有一种方法可以添加管道步骤来发布您的覆盖率报告,但它不会显示在BlueOcean界面下.它将在正常的UI中显示正常.
pipeline {
agent any
stages {
...
}
post {
always {
junit '**/nosetests.xml'
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,Cobertura插件的其中一个参数是它将使用的XML(示例中为"**/coverage.xml").
如果您使用的是python,则需要使用以下内容:
nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test
Run Code Online (Sandbox Code Playgroud)
hwj*_*wjp 26
现在您也可以cobertura
直接在Jenkinsfile中使用该命令
stage ("Extract test results") {
cobertura coberturaReportFile: 'path-to/coverage.xml'
}
Run Code Online (Sandbox Code Playgroud)
来源:https://issues.jenkins-ci.org/browse/JENKINS-30700
hwjp 的答案是正确的,但是您可以将额外的参数添加到不容易找到的命令中。
安装 Cobertura 插件后,您可以在
作业仪表板页面 -> 管道语法 -> 步骤参考
还有一个片段生成器,它对于开始使用非常有用
作业仪表板页面 -> 管道语法
示例命令:
cobertura coberturaReportFile: 'coverage.xml', enableNewApi: true, lineCoverageTargets: '80, 60, 70'
Run Code Online (Sandbox Code Playgroud)
enableNewApi 设置为 true 是一个很好的选择,因为新 API 更漂亮 :D 如果代码覆盖率太低,设置覆盖目标将自动使作业失败
归档时间: |
|
查看次数: |
19897 次 |
最近记录: |