我正在尝试在 Jenkins 中进行构建以显示 Java 单元测试运行的覆盖率报告。我可以获得高级别报告,显示覆盖率已发生在类和方法级别,但我可以查看源代码的报告部分不起作用。
最佳答案
插件的输入是:
- XML 格式的覆盖率报告
- 源代码
要使用插件创建覆盖率报告:
- 将 Cobertura 安装到 Jenkins 中。
- 使用后期构建创建 Jenkins 作业以生成 Cobertura 报告。在此步骤中,您告诉它在 Jenkins 工作区中的哪个位置加载覆盖率报告(通常名为coverage.xml)。
在运行 Jenkins 作业之前 覆盖率报告以某种方式创建(通常通过某种构建脚本)。该报告通常被大多数人的构建脚本命名为coverage.xml,并放置在Jenkin 作业的工作区中。
运行 Jenkins 作业时
当Jenkins作业运行时,Cobertura插件将读取coverage.xml并使用该元素来定位源代码。该插件将源代码复制到位于以下位置的缓存中:<Jenkins home>/jobs/<Jenkins job name>/<Cobertura>
.
运行 Jenkins 作业后
导航到构建该报告的 Jenkins 作业来阅读覆盖率报告。如果在运行 Jenkins 作业期间成功复制源文件,您可以深入查看源代码并查看测试运行覆盖了哪些行。如果看不到源代码级别的代码覆盖率:
- 检查 cobertura 缓存以查看代码是否存在。
- 检查缓存的权限,看看 Jenkins 服务器进程是否拥有该目录以及对该目录的读、写、执行权限。
- 检查 cobertura.xml 文件并选择一个元素并检查它的“文件名”属性,看看它的路径是否可以作为从 Cobertura 缓 stub 开始的相对路径。
如果缓存有旧信息,请删除缓存目录中的所有内容,然后重新运行 Jenkins 作业。
关于jenkins - Jenkins Cobertura 插件如何操作来启用源代码查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23646102/