java - Cobertura-不再检测类(class)

标签 java jenkins gradle cobertura

我在我的Jenkins版本中使用gradle-cobertura-plugin。昨天,我修复了此插件中的一个问题,该问题覆盖了已配置的assistantClasspath。该问题阻止了某些类出现在覆盖率报告中。解决方法非常简单:

我更改了以下内容:

auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}")


if (auxiliaryClasspath != null) {
        auxiliaryClasspath += project.files("${project.buildDir.path}/intermediates/classes/${classesDir}")
} else {
        auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}")
}

使用gradle cobertura在本地运行构建,一切正常,报告中显示缺少的类。
在Jenkins上安装了修补程序的插件版本后,Jenkins的覆盖率降至零。

环顾四周,我发现instrumented_classes -folder中的类不再受测!回滚所有内容(build.gradle,卸载我的插件,清除gradle缓存等),行为保持不变。因为它在本地工作,所以我想知道是什么导致了此问题。

我认为确实存在一些出乎意料的错误,该错误可能已被记录并被默默忽略,但是我不知道在哪里可以找到这些信息。 Jenkins日志很干净,因此我认为为负责检测的代码添加记录器可能会有所帮助。不幸的是,我不知道要启用什么记录器。 org.sourceforge.cobertura没有输出任何内容。

所以我的问题是:还有其他人看到过这种行为,并且可能会提供线索来解决此问题吗?

最佳答案

好,我知道了。经过反复试验,我发现覆盖范围不大是属性(property)的根本原因。多次更改后,将再次检测类。有趣的是,它确实在本地工作,但不适用于 Jenkins 。如果再次发生,我认为我必须对此进行更深入的研究。

现在,我很高兴它能起作用。 :-)

关于java - Cobertura-不再检测类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41258088/

相关文章:

java - 获取 java.util.ConcurrentModificationException

java - 为什么从 Docker 镜像的 jar 文件已损坏?

intellij-idea - 如何知道 IntelliJ 中的 gradle 任务错误消息?

gradle - 使用自定义属性文件

java - BitSet 的 JSON 序列化不起作用

java - JDBC 准备好的语句不起作用

java - 在 Windows 中更改 Java 安全文件

java - 如何修改Jenkins官方Docker镜像中的Java内存?

git - Jenkins :更新子模块时,使用子模块的最新提交重建主存储库

android - 删除下载的机器人 jar