0

車両のリストを返すメソッドがあります。このような:

 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 オブジェクトをどのようにモックするのでしょうか?

4

1 に答える 1