gpt4 book ai didi

java - 如何更改 if 和 for 在测试中断言

转载 作者:行者123 更新时间:2023-12-01 17:46:41 25 4
gpt4 key购买 nike

该测试验证运输机从军用飞机列表中接收方法的正确性。正如在测试中不要使用“for”和“if”,而使用assertTrue。也不能使用FLAG和lambda。在所有这些旁边应该有一个断言。

@Test
public void testGetTransportMilitaryPlanes() {
Airport airport = new Airport(planes);
List<MilitaryPlane> transportMilitaryPlanes = airport.getTransportMilitaryPlanes();

boolean flag = false;
for (MilitaryPlane militaryPlane : transportMilitaryPlanes) {
if ((militaryPlane.getMilitaryType() == MilitaryType.TRANSPORT)) {
flag = true;
break;
}
}
Assert.assertEquals(flag, true);
}

我这样做了:

@Test
public void testGetTransportMilitaryPlanes() {
Airport airport = new Airport(planes);
List<MilitaryPlane> transportMilitaryPlanes = airport.getTransportMilitaryPlanes();

MilitaryPlane militaryPlane = (MilitaryPlane) transportMilitaryPlanes;
Assert.assertTrue(militaryPlane.getMilitaryType() == MilitaryType.TRANSPORT);

}

但是测试就这样失败了。在原始版本中是正确的。

最佳答案

使用流会让这变得更加优雅:

Assert.assertTrue
(transportMilitaryPlanes.stream()
.anyMatch(p -> p.getMilitaryType() == MilitaryType.TRANSPORT));

关于java - 如何更改 if 和 for 在测试中断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396633/

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