0
我有一个方法返回车辆列表。就像这样:Mockito - 方法内的模拟对象
public List<Vehicle> getVehicles() {
List<Vehicle> vehicles=vehicleDAO.getAllVehicles();
for (Vehicle v : vehicles){//NullPointerException
//some bussines logic...
}
return vehicles;
}
这里是我的测试:
@Test
public void testShowVehicles() {
when(vehicleDAO.getAllVehicles()).thenReturn(listVehiclesMock);
List<Vehicle> vehicles= service.getVehicles();//NullPointerException
assertEquals(listVehicleMock, vehicles);
}
当我运行它,我得到的NullPointerException,因为车辆不能存在。 当我有老式的循环它通过测试,但现在我换成forEach循环我得到测试错误。 那么,我会如何嘲笑对象车辆?
你可以给我一些提示,我将如何绑定'iterator()'到测试。 –
而不是从一个模拟对象返回一个模拟列表,它可能更容易返回一个单一的车辆对象的实际列表。这样,您就不必编写其他_when_子句并避免在业务逻辑中出现NullPointerException。 –
这是否可以返回实际列表而不是模拟列表? –