为啥 Cobertura 在通过 Eclipse 插件运行时报告 0% 覆盖率?
Posted
技术标签:
【中文标题】为啥 Cobertura 在通过 Eclipse 插件运行时报告 0% 覆盖率?【英文标题】:Why does Cobertura report 0% coverage when run through the Eclipse plugin?为什么 Cobertura 在通过 Eclipse 插件运行时报告 0% 覆盖率? 【发布时间】:2013-10-06 14:16:27 【问题描述】:(有很多这样的问题,但我能找到的所有问题都与 Maven 有关。在你建议这个问题是重复的之前,请理解这与 Maven 没有任何关系。)
我在 Eclipse 中使用Cobertura 来确定我的 JUnit 测试覆盖的代码百分比。我的所有 99 个单元测试在 Cobertura 内部和外部都成功运行,但 Cobertura 报告说它们已经覆盖了我的代码的 0%。
我:
我正在通过 Eclipse 插件运行 Cobertura 我正在使用 Java 6,特别是 Ubuntu 上的 OpenJDK-AMD64 确保单元测试确实涵盖了我的代码的某些部分 已确保 Cobertura 在我的所有 src 文件夹上运行我的所有测试文件夹 已尝试清理和重建为什么 Cobertura 报告为 0%?
【问题讨论】:
我还没有解决这个问题 - 但我通过将报告粘贴到 Ant 文件中解决了这个问题...... 通过 Maven 的cobertura:cobertura
目标运行它是否有效?
@Joe 我没有使用 Maven,但因为它可以与 Ant 一起使用,所以我假设是这样。
【参考方案1】:
我发现这对我来说是个问题,因为我正在编译没有行号的源文件。如果这是你的问题,你会看到
[cobertura-instrument] WARN visitEnd, No line number information found for class com.x.y.z.A.
Perhaps you need to compile with debug=true?
要解决此问题,请将debug="true" debuglevel="vars,lines,source"
添加到您的javac
命令中。
另见:
http://meera-subbarao.blogspot.co.uk/2008/07/cobertura-instrument-warn-visitend-no.html
How to remove specific Cobertura warning?
【讨论】:
以上是关于为啥 Cobertura 在通过 Eclipse 插件运行时报告 0% 覆盖率?的主要内容,如果未能解决你的问题,请参考以下文章
当 cobertura 测试在 maven-cobertura-plugin 中运行时如何配置?
Glassfish 嵌入式 + maven cobertura 插件