当前位置: 首页 > 知识库问答 >
问题:

jenkins管道作业的cobertura代码覆盖报告

卫嘉佑
2023-03-14

我使用jenkins的代码为每个插件生成覆盖率,并显示我喜欢的管道。是否有一个插件我可以使用它(例如Cobertura,但它似乎不受管道支持)?

共有3个答案

刘狐若
2023-03-14

hwjp的答案是正确的,但是有一些额外的参数可以添加到命令中,这些参数不容易找到。

一旦您安装了Cobertura插件,您可以在

作业仪表板页面-

还有一个片段生成器,它非常有用

作业仪表板页面-

命令示例:

cobertura coberturaReportFile: 'coverage.xml', enableNewApi: true, lineCoverageTargets: '80, 60, 70'

enableNewApi很适合设置为true,因为新的API更漂亮:如果代码覆盖率太低,设置覆盖率目标将自动失败

蓝泰平
2023-03-14

现在,您也可以直接在Jenkinsfile中使用cobertura命令

stage ("Extract test results") {
    cobertura coberturaReportFile: 'path-to/coverage.xml'
}

来源:https://issues.jenkins-ci.org/browse/JENKINS-30700

戎兴言
2023-03-14

有一种方法可以添加一个管道步骤来发布覆盖率报告,但它不会显示在BlueOcean界面下。它将在普通用户界面中显示良好。

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])
        }
    }
}

请注意,Cobertura插件的参数之一是它将使用的XML ('**/ coverage.xml'在示例中)。

如果你正在使用python,你会想要使用这样的东西:

nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test
 类似资料:
  • 我正在为我的grails 3.1.6项目添加cobertura代码覆盖率,覆盖率报告似乎有点少,即我有单元测试用例(pos和neg两种情况)来覆盖if块,但报告说没有覆盖if块。gradle:2.13 Groovy:2.4.5 Grails:3.1.6 cobertura gradle Plugin:net.saliman:gradle-cobertura-plugin:2.3.2 这是我的代码

  • 我正在使用Cobertura maven插件[2.7版]来了解测试的代码覆盖率。我正在使用PowerMock[1.6.6]模拟依赖对象。但是当我运行mvn cobertura:cobertura并检查报告时,覆盖率保持不变。当我不使用嘲弄的时候,它很好用。这是兼容性问题吗?我多次尝试mvn clean,只是为了确保报告是新生成的。 这是我的pom.xml 对此我们非常感谢您的帮助。

  • Jacoco插件在jenkins报告中显示0%的覆盖率,但当我在本地系统中运行相同的命令时,Jacoco会正确生成报告。我正在使用以下命令: mvn-s xyz/settings.xml-f xyz/xyz/pom.xml清洁安装org.jacoco 所以当我在jenkins中运行这个命令时,它会生成错误的报告。我已经检查了它在工作区目录对应的项目在詹金斯。它显示每个项目的0%覆盖率。但是当我在本

  • 我有一个反应应用,使用 npx 创建-反应-应用命令创建,并为 CI/CD 配置了一个基于 yaml 的 Azure DevOps 管道。然后我添加了一些简单的单元测试。 我在yaml管道中添加了一个脚本任务,以生成如下覆盖率结果。 但是这个任务显示以下输出,然后任务继续运行,永远不会结束。我必须取消管道运行才能最终停止它。不知道发生了什么。有什么想法吗? 但是,当我以CI =true作为前缀以按

  • 我正在努力为SonarQube在Azure运营模式管道中生成代码覆盖率报告。我需要此代码覆盖率报告,以便SonarQube了解单元测试中覆盖的总代码。 我在获取单元测试期间创建的报告的步骤中收到此错误消息: 我在Azure Pipeline中生成报告所遵循的步骤: 1-在“dotnet构建”步骤之后,我包含了一个带有以下参数的“dotnettest”: 2-在“dotnet测试”之后,第一步包括一

  • 问题内容: 我正在使用声纳来衡量代码质量。我不知道的一件事是使用Cobertura测量代码覆盖率的步骤。 我按照http://cobertura.sourceforge.net/anttaskreference.html中的步骤进行操作,并且能够生成xml文件。如何将这些xml文件放入SONAR? 有没有在SONAR中使用Cobertura的简便方法? 我在与SONAR服务器不同的服务器上运行代码