Dan*_*ina 7 java code-coverage
在此问题被标记为重复之前,请阅读它.;)已经有几个关于覆盖工具等的问题,但是这与通常的有点不同(我希望).
根据维基百科,有几种不同类型的"覆盖"变化会影响"覆盖"一词的几个不同方面.
这里有一个小例子:
public class Dummy {
public int a = 0;
public int b = 0;
public int c = 0;
public void doSomething() {
a += 5;
b += 5;
c = b + 5;
}
}
public class DummyTest {
@Test
public void testDoSomething() {
Dummy dummy = new Dummy();
dummy.doSomething();
assertEquals( 10, dummy.c );
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,测试将覆盖100%的行,字段'c'的值的断言将覆盖此字段,间接也覆盖字段'b',但字段'a'上没有断言覆盖.这意味着测试覆盖了100%的代码行并确保c包含期望值,并且最可能b也包含正确的值,但是a根本没有声明并且可能是完全错误的值.
那么......现在的问题是:是否有工具能够分析(java)代码并创建一个报告,该报告关于断言覆盖哪些字段/变量/未被(直接和/或间接)覆盖的内容?
(好吧,当使用getter而不是public字段时,你会看到没有调用getA(),但这不是我想听到的答案;))
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |