繁体   English   中英

Mockito - 方法内的模拟对象

[英]Mockito - mock object inside method

我有一个返回车辆清单的方法。 像这样:

 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,因为Vehicle不存在。 当我有旧时尚for循环它通过测试,但现在我用forEach循环替换我在测试中得到错误。 那么我该如何模拟对象车辆呢?

对于每个循环使用给定Iterable iterator()方法。 然后使用以这种方式获得的迭代器来迭代集合。 不幸的是,这个模拟列表的方法返回null,这会导致NullPointerException 要用于每个循环语法,您还必须将iterator()方法绑定到结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM