gpt4 book ai didi

java - 为什么我的方法不能正确检测对象是否为空?

转载 作者:行者123 更新时间:2023-11-28 21:04:58 25 4
gpt4 key购买 nike

我正在编写 JUnit 测试来测试将公交车站添加到 Collection 夹列表的方法。如果停靠点不为空或停靠点不在列表中,它应该只将停靠点添加到列表中。这是我的方法:

public boolean addStop(BusStop stop) {
if (stop == null || stops.contains(stop)) {
return false;
else {
stops.add(stop);
return true;
}

这是我的 JUnit 测试:

public void testAddStop() {
stops.add(stop1);
stops.add(stop2);
stops.add(stop3);
stops.add(stop4); // Stops 1-4 are not null
assertEquals(stops.size(), 4);
stop5 = null;
stops.add(stop5); // Stop 5 is null
assertEquals(stops.size(), 4);
}

当运行测试时,第二个 assertEquals 失败,说它期望 5,但实际上是 4。任何人都可以帮助指出我这里哪里出错了吗?

最佳答案

首先,在 JUnit 的“断言”方法调用中,期望值在前,然后是测试值。使用 assertEquals(4, stops.size())。本来应该是4个,原来是5个。

其次,您调用的是 stops.add(stop5),而不是 addStop 方法,因此添加了 null。让您的 test 方法实际调用 addStop

关于java - 为什么我的方法不能正确检测对象是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24961747/

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