jenkins - Jenkins Cobertura 插件如何操作来启用源代码查看?

标签 jenkins code-coverage jenkins-plugins cobertura

我正在尝试在 Jenkins 中进行构建以显示 Java 单元测试运行的覆盖率报告。我可以获得高级别报告,显示覆盖率已发生在类和方法级别,但我可以查看源代码的报告部分不起作用。

最佳答案

插件的输入是:

  • XML 格式的覆盖率报告
  • 源代码

要使用插件创建覆盖率报告:

  1. 将 Cobertura 安装到 Jenkins 中。
  2. 使用后期构建创建 Jenkins 作业以生成 Cobertura 报告。在此步骤中,您告诉它在 Jenkins 工作区中的哪个位置加载覆盖率报告(通常名为coverage.xml)。

在运行 Jenkins 作业之前 覆盖率报告以某种方式创建(通常通过某种构建脚本)。该报告通常被大多数人的构建脚本命名为coverage.xml,并放置在Jenkin 作业的工作区中。

运行 Jenkins 作业时

当Jenkins作业运行时,Cobertura插件将读取coverage.xml并使用该元素来定位源代码。该插件将源代码复制到位于以下位置的缓存中:<Jenkins home>/jobs/<Jenkins job name>/<Cobertura> .

运行 Jenkins 作业后

导航到构建该报告的 Jenkins 作业来阅读覆盖率报告。如果在运行 Jenkins 作业期间成功复制源文件,您可以深入查看源代码并查看测试运行覆盖了哪些行。如果看不到源代码级别的代码覆盖率:

  1. 检查 cobertura 缓存以查看代码是否存在。
  2. 检查缓存的权限,看看 Jenkins 服务器进程是否拥有该目录以及对该目录的读、写、执行权限。
  3. 检查 cobertura.xml 文件并选择一个元素并检查它的“文件名”属性,看看它的路径是否可以作为从 Cobertura 缓 stub 开始的相对路径。

如果缓存有旧信息,请删除缓存目录中的所有内容,然后重新运行 Jenkins 作业。

关于jenkins - Jenkins Cobertura 插件如何操作来启用源代码查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23646102/

相关文章:

docker - Jenkins Kubernetes插件安全上下文

dart - 如何获取被测文件的覆盖率报告?

Jenkins - 无需身份验证即可从命令行下载存档的工件

Jenkins :如何捕获stderr输出

jenkins - 如何知道jenkins部署和构建代码的服务器IP地址

java - 艾玛是如何工作的?

java - 删除对 "com.some.Filename::someMethodName"--> SURVIVED 的调用在 Pitest 中意味着什么?

networking - 使用 headless jnlp 将从属连接到主控时显示异常

jenkins-plugins - 使用 'HTML Publisher Plugin' 在 Jenkins 上发布范围报告 HTML 文件时,HTML 页面显示为 UI 损坏

jenkins - 使用 Jenkins Rest API 安排 Jenkins 作业