如何停止在Mockito的另一个类中调用方法的方法?

时间:2016-08-19 09:56:34

标签: java unit-testing nullpointerexception mockito method-call

我有以下方法在我的Java服务类中进行测试:

public void findPersonToDelete(String id){

    //repository method then called
   personRepository.findPersonAndDelete(id);


}

问题是personRepository会调用抛出Null Pointer的其他代码。

我尝试使用以下行来阻止personRepository调用其他方法:

  Mockito.doNothing().when(personRepository).findPersonAndDelete(id);

然而错误仍然存​​在?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您有PersonRepository的setter,您可以模拟该类并在您的服务中设置它,这样就可以调用模拟类,并且您只能检查它是否被调用。 所以像:

PersonRepository repo = Mockito.mock(PersonRepository.class);
service.setPersonRepository(repo);
service.findPersonToDelte(1);

然后检查您要测试的内容。