我正在使用Mockito进行单元测试,我想跳过某个方法的执行。
我参考了这个帖子:Skip execution of a line using Mockito。在这里,我假设doSomeTask()和createLink()方法在不同的类中。但在我的情况下,两个方法都在同一个类(ActualClass.java)中。
//Actual Class
public class ActualClass{
//The method being tested
public void method(){
//some business logic
validate(param1, param2);
//some business logic
}
public void validate(arg1, arg2){
//do something
}
}
//Test class
public class ActualClassTest{
@InjectMocks
private ActualClass actualClassMock;
@Test
public void test_method(){
ActualClass actualClass = new ActualClass();
ActualClass spyActualClass = Mockito.spy(actualClass);
// validate method creates a null pointer exception, due to some real time data fetch from elastic
doNothing().when(spyActualClass).validate(Mockito.any(), Mockito.any());
actualClassMock.method();
}
}
由于执行validate方法时出现空指针异常,我尝试按照上述提到的问题中所示的方式,通过监视ActualClass对象来跳过方法调用。然而,问题没有解决。由于validate方法出现了空指针异常,导致实际测试方法无法覆盖。
那么我该如何跳过同类中的validate()方法的执行呢?