修复分支覆盖声纳问题

时间:2015-11-10 07:57:43

标签: java sonarqube

我正在尝试运行声纳,我将我的代码样本作为sampleClass来修复分支覆盖问题:

问题是 需要通过单元测试覆盖117个以上的分支机构,以达到65.0%分支覆盖率的最低阈值。

我试图让我的测试用例覆盖示例类中的许多分支。

但经过多次试验后,数字117无法改变。 我需要做些什么才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要添加更多测试。例如:

@Test
public void testThis(){
  if ( getBooleanA() || getBooleanB()){
    assertTrue(getBooleanA() != getBooleanB());
    }
  else{
    assertTrue(getBooleanA() == getBooleanB());
  }
}

在这里,您需要为下一个案例提供测试:  1.布尔A和B都是假的  2.布尔A和B都是真的  3.布尔值A为真,布尔值B为假  4.布尔值A为假,布尔值B为真

如果您错过了其中一项测试,那么您有一个未覆盖的分支。

编辑:很明显(或应该是),else块中的断言是没有意义的,但我只是添加它,以防它没有返回布尔值,而是一个int,以显示它是多么容易是要有一个需要覆盖的新分支。