我正在使用Retrier类重试失败的任务。我的代码看起来像这样。我使用Mockito
在我的测试用例中嘲笑了Retrier类someMethod() {
Callable a = new TestingCall()
Retrier.call(a, arg2, arg3)
.....
}
我的测试代码看起来像这样。
testMymethod()
// mock(Retrier.class)
when(Retrier.call(any(Callable.class), anyObject(), anyObject()).thenAnswer(new Answer<Boolean>() {
@Override
public Boolean answer(InvocationOnMock invocation) throws Throwable {
return true;
}
});
但是当我运行测试时,它会在Retrier.call
中抛出一个空指针ExceptionRetrier.call使用传递的参数,这些参数因为NPE而变为空。
注意:我也试过传递这样的东西。
when(Retrier.call(any(Callable.class),any(arg2.Class), 任何(arg3.Class)其中arg2和arg3也被嘲笑。
有关此错误的任何想法?或者成功的另一种方式?