我正在编写JUnit测试以测试将公交车站添加到收藏夹列表的方法。如果停止点不为空或停止点不在列表中,它应该只将停止点添加到列表中。这是我为它的方法:为什么我的方法无法正确检测对象是否为空?
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.可任何人都可以帮助指出我要去哪里错了吗?
调试有3个方面:输入,过程和输出。你给我们的过程和输出,但让我们猜测输入。 –
由于您直接使用'stops.add(stop5)'而不是调用'addStop(stop5)' – gtgaxiola
单元测试如何访问内部数据结构'stops'? – isnot2bad