为什么Cobertura在运行Eclipse插件时报告0%的覆盖率?

时间:2013-09-30 16:13:13

标签: java eclipse junit code-coverage cobertura

(这些问题有很多,但是我能找到的所有问题都与Maven有关。在你提出这个问题之前,请注意这一点是重复的,请理解这与Maven没有任何关系。)

我在Eclipse中使用Cobertura来确定我的JUnit测试所涵盖的代码百分比。所有99个单元测试都在Cobertura内外成功运行,但Cobertura报告说他们已经覆盖了我的代码的0%。

我:

  • 正在通过Eclipse插件运行Cobertura
  • 我正在使用Java 6,特别是Ubuntu上的OpenJDK-AMD64
  • 已确保单元测试执行涵盖了我的代码的某些部分
  • 确保Cobertura在我的所有src文件夹
  • 上运行我的所有测试文件夹
  • 试图清理并重建

为什么Cobertura报告0%?

1 个答案:

答案 0 :(得分: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?