gpt4 book ai didi

Java软件测试

转载 作者:行者123 更新时间:2023-11-29 05:52:39 25 4
gpt4 key购买 nike

我正在使用以前的试题为本周即将到来的测试进行复习,但我无法获得 100% 的覆盖率,我的程序是:

public int computeInsurance(boolean SportsEquipment, boolean MusicEquipment)
{
int insurance;
if(SportsEquipment == true && MusicEquipment==true)
insurance = 20;
else if((SportsEquipment == true && MusicEquipment == false)||(SportsEquipment == false && MusicEquipment == true))
insurance = 10;
else
insurance= 5;

return insurance;
}

}

我正在使用以下测试用例:

public class Lab5CarTest {

@Test
public void testComputeInsurance() {
Lab5Car t = new Lab5Car();

int result = t.computeInsurance(true, true);
assertEquals(20,result);

int i = t.computeInsurance(true,false);
assertEquals(10,i);

int u = t.computeInsurance(false,false);
assertEquals(5,u);


}

}

但是我的代码的 else if 行中缺少 8 个分支中的 3 个分支!

最佳答案

你为什么不测试:

int ip = t.computeInsurance(false,true);
assertEquals(10,ip);

像这样你应该覆盖所有。

你可以像这样简化你的代码:

if (SportsEquipment && MusicEquipment)
insurance = 20;
else if (SportsEquipment != MusicEquipment)
insurance = 10;
else
insurance= 5;

关于Java软件测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com