【发布时间】:2015-11-10 07:57:42
【问题描述】:
我正在尝试运行声纳,我将我的代码样本作为 sampleClass 来修复分支覆盖问题:
问题是 单元测试还需要覆盖 117 个分支才能达到 65.0% 分支覆盖率的最低阈值。
我试图让我的测试用例涵盖示例类中的许多分支。
但是117这个数字在经过多次试验后无法改变。 我必须做些什么来解决这个问题?
【问题讨论】:
我正在尝试运行声纳,我将我的代码样本作为 sampleClass 来修复分支覆盖问题:
问题是 单元测试还需要覆盖 117 个分支才能达到 65.0% 分支覆盖率的最低阈值。
我试图让我的测试用例涵盖示例类中的许多分支。
但是117这个数字在经过多次试验后无法改变。 我必须做些什么来解决这个问题?
【问题讨论】:
您需要添加更多测试。例如:
@Test
public void testThis(){
if ( getBooleanA() || getBooleanB()){
assertTrue(getBooleanA() != getBooleanB());
}
else{
assertTrue(getBooleanA() == getBooleanB());
}
}
在这里,您需要为以下情况提供测试: 1. boolean A 和 B 都是假的 2. boolean A 和 B 都为真 3.布尔A为真,布尔B为假 4. boolean A 为 false,boolean B 为 true
如果您错过了其中一项测试,则说明您没有覆盖一个分支。
编辑:很明显(或者应该是),else 块中的断言是没有意义的,但我只是添加了它,以防它没有返回布尔值,而是一个 int,以显示它是多么容易是有一个需要覆盖的新分支。
【讨论】: