Pop*_*ops 5 java eclipse code-coverage emma eclemma
我刚刚写了一些简单的示例代码,以确保我正确安装了EclEmma.我没有得到100%的报道,我不明白为什么.突出显示它与类名有关.这是我的代码,以及相应的JUnit测试,EclEmma强调它的方式:


覆盖率结果显示三个指令Arithmetic没有被击中,即使两个实际方法似乎完全覆盖:

我已经阅读了关于基本块覆盖的EclEmma文档,但我仍然感到困惑.我不确定错过了哪些基本块.起初,我认为EclEmma可能只是忽略了类的字节码,但ArithmeticTest似乎处理得很好.
我有两个密切相关的问题:
您的代码意味着默认构造函数,Emma无法正确标记它,因为它没有文本块.
由于它没有在文本块中正确标记,因此Emma无法将coverage记录与文本文件相关联,并且看起来某些代码未被覆盖; 因为,您运行了一些字节码,但无法注册行记录.稍后当报告元素读取行日志记录时,它们无法找到默认构造函数的行号,并且它会在唯一有意义的地方突出显示错误,即类声明行.
默认构造函数看起来像
public Arithmetic() {
super();
}
Run Code Online (Sandbox Code Playgroud)
super是隐含的第一条指令,它将构建Object.虽然您可以省略它的存在,但编译器会为您添加它.这就是你得到"3行"而不是一行的地方.
| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |