我有以下方法在我的Java
服务类中进行测试:
public void findPersonToDelete(String id){
//repository method then called
personRepository.findPersonAndDelete(id);
}
问题是personRepository会调用抛出Null Pointer
的其他代码。
我尝试使用以下行来阻止personRepository调用其他方法:
Mockito.doNothing().when(personRepository).findPersonAndDelete(id);
然而错误仍然存在?我该如何解决这个问题?
答案 0 :(得分:1)
如果您有PersonRepository的setter,您可以模拟该类并在您的服务中设置它,这样就可以调用模拟类,并且您只能检查它是否被调用。 所以像:
PersonRepository repo = Mockito.mock(PersonRepository.class);
service.setPersonRepository(repo);
service.findPersonToDelte(1);
然后检查您要测试的内容。