【发布时间】:2016-04-30 13:22:10
【问题描述】:
使用 EclEmma Eclipse 代码覆盖率插件运行此单元测试后,它返回 100% 的分支覆盖率,即覆盖 4 个分支中的 4 个,我预计此处仅覆盖 4 个分支中的 2 个,即 50% 覆盖率。 如果我证明是正确的,任何人都可以建议一个更好的分支覆盖工具。提前致谢。
@Test
public void testTT(){;
assertTrue(bar(true, true)==3);
}
@Test
public void testFF(){;
assertTrue(bar(false, false)==8);
}
int bar(boolean cond1, boolean cond2) {
int answer = 1;
if (cond1) {
answer = answer * a();
} else {
answer = answer * b();
}
if (cond2) {
answer = answer * c();
} else {
answer = answer * d();
}
return answer;
}
private int a(){
return 1;
}
private int b(){
return 2;
}
private int c(){
return 3;
}
private int d(){
return 4;
}
【问题讨论】:
-
感谢您的 cmets,在看了一轮之后,我找到了 JMockit:jmockit.org,它提供了路径覆盖,似乎适用于我测试过的简单案例。我还看到了一些似乎提供路径覆盖的商业工具,parasoft.com 和 coverity.com/products/coverity-save
标签: java unit-testing eclipse-plugin code-coverage