在此问题被标记为重复之前,请阅读它。 ;) 已经有几个关于覆盖工具的问题,但是这与通常的有点不同(我希望)。是否有某种'断言'覆盖工具(用于Java)?
根据wikipedia,有几种不同类型的“覆盖率”变化会影响术语“覆盖率”的几个不同方面。
这里一个小例子:
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);
}
}
正如你可以看到,测试将有100%的线的覆盖,现场“C”的价值主张将涵盖这一领域也间接覆盖字段'b',但是在字段'a'上没有断言覆盖。 这意味着测试覆盖了100%的代码行,并确保c包含期望值,并且很可能b也包含正确的值,但a完全没有被声明,并且可能是完全错误的值。
所以......现在的问题是否有工具能够分析(java)代码并创建一个关于哪些字段/变量/没有被直接和/或间接地由断言覆盖的报告?
(使用干将,而不是公共领域时,你会看到木屐()不叫,但嗯,这不是我想听到的答案确定;))
所以...你正在寻找某种工具做全面的资料流?这实际上是有用的,虽然我不知道任何副手。有+1。 – 2011-05-11 08:34:55
是的,因为我很懒惰;)我想要一些说我的东西,嘿,你忘了在YZ类中测试字段XY的值。 – 2011-05-11 08:52:58