我有以下的Spring服务类,想要使用Mockito进行测试:
当我运行测试时,我得到了一个NullpointerException,但只在for-each循环中出现。
首先,我认为这是一个类似于this线程描述的问题: 我已经模拟了List,并且因此需要模拟
该线程提供的解决方案对我不起作用,因为我实际上是自动装配List。
@Service
public class ObjectExportService {
@Autowired
protected List<SecuredService<? extends SecuredObject>> securedServices;
public void doStuff() {
for(int i = 0; i < this.securedServices.size(); i++){
SecuredService<? extends SecuredObject> securedSrv = this.securedServices.get(i);
//this access works
}
for (SecuredService<? extends SecuredObject> securedSrv : this.securedServices) { //this access does not work
}
}
}
这是我的测试类,用于那项服务:
@RunWith(MockitoJUnitRunner.class)
public class ObjectExportServiceTest {
@InjectMocks
private ObjectExportService objectExportService;
@Mock
protected List<SecuredService<? extends SecuredObject>> securedServices;
@Test
public void testDoStuff(){
objectExportService.doStuff();
Assert.assertTrue(true);
}
}
当我运行测试时,我得到了一个NullpointerException,但只在for-each循环中出现。
首先,我认为这是一个类似于this线程描述的问题: 我已经模拟了List,并且因此需要模拟
iterator()
调用。该线程提供的解决方案对我不起作用,因为我实际上是自动装配List。