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。 –
這是否可以返回實際列表而不是模擬列表? –