要模拟的函数是ContactsProductionService.java类
@Override
public ContactsProductionDto getContactsProduction(long id) {
Site site = siteDao.find(id);
ContactsProductionDto contactsProductionDto = new ContactsProductionDto();
List<Entite> entities = entiteDao.findEntitesByType(Type.CP);
for (Entite entite : entities) {
ProductionCenterDto productionCenter = new ProductionCenterDto();
productionCenter.setId(entite.getId());
productionCenter.setCode(entite.getCode());
productionCenter.setNumber(entite.getNumero());
productionCenter.setName(entite.getDescription());
contactsProductionDto.getProductionCenters().add(productionCenter);
}return contactsProductionDto;
这是测试:
@Test
public void testGetContactsProduction(){
Mockito.when(siteDao.find(id)).thenReturn(new Site());
List<Entite> entities = null;
Mockito.when(entiteDao.findEntitesByType(Type.CP)).thenReturn(entities);
ContactsProductionDto contact=contactsProductionService.getContactsProduction(id);
Assert.assertNotNull(contact);
}
我在运行此测试时遇到NullPointerException。原因是Entite的for循环值内部为null! 任何帮助请:(