車両のリストを返すメソッドがあります。このような:
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);
}
実行すると、 Vehicle が存在しないため NullPointerException が発生します。昔ながらの for ループを使用するとテストに合格しますが、 forEach ループに置き換えたところ、テストでエラーが発生しました。では、Vehicle オブジェクトをどのようにモックするのでしょうか?