如何停止在 Mockito 的另一个 class 中调用方法的方法?
How to stop method calling a method in another class in Mockito?
我在 Java
服务 class 中使用以下方法进行测试:
public void findPersonToDelete(String id){
//repository method then called
personRepository.findPersonAndDelete(id);
}
问题是 personRepository 调用了抛出 Null Pointer
的其他代码。
我尝试使用以下行来阻止 personRepository 调用其他方法:
Mockito.doNothing().when(personRepository).findPersonAndDelete(id);
但是错误仍然存在?我该如何解决这个问题?
如果您的 PersonRepository 有一个 setter,您可以模拟 class 并将其设置在您的服务中,这样模拟的 class 将被调用,您只能检查如果它被调用。
所以像:
PersonRepository repo = Mockito.mock(PersonRepository.class);
service.setPersonRepository(repo);
service.findPersonToDelte(1);
然后勾选你要测试的内容。
我在 Java
服务 class 中使用以下方法进行测试:
public void findPersonToDelete(String id){
//repository method then called
personRepository.findPersonAndDelete(id);
}
问题是 personRepository 调用了抛出 Null Pointer
的其他代码。
我尝试使用以下行来阻止 personRepository 调用其他方法:
Mockito.doNothing().when(personRepository).findPersonAndDelete(id);
但是错误仍然存在?我该如何解决这个问题?
如果您的 PersonRepository 有一个 setter,您可以模拟 class 并将其设置在您的服务中,这样模拟的 class 将被调用,您只能检查如果它被调用。 所以像:
PersonRepository repo = Mockito.mock(PersonRepository.class);
service.setPersonRepository(repo);
service.findPersonToDelte(1);
然后勾选你要测试的内容。