使用BDDMockito,我模拟了静态方法。现在我想在answer方法中使用ResourceHelper的真实方法。据我了解,这种答案方法会自称。那么如何调用真正的静态方法?
PowerMockito.mockStatic(SomeHelper.class);
BDDMockito.given(SomeHelper.helpMethod(Matchers.eq(SomeClass.class), Matchers.anyString(), Matchers.anyString())).willAnswer(newAnswer<String>() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
//Here I want call real ResourceHelper's method
return SomeHelper.helpMethod(AnotherClass.class, "param1", "param2");
}
});
答案 0 :(得分:1)
听起来您想使用BDDMockito.willCallRealMethod()
。
为此,请使用以下内容替换当前的存根代码:
given(SomeHelper.helpMethod(Matchers.eq(SomeClass.class), Matchers.anyString(), Matchers.anyString())).willCallRealMethod();
这代表了标准Mockito的doCallRealMethod()
方法。