使用BDDMockito模拟静态方法。现在我想在答案方法中使用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");
}
});
听起来你想使用BDDMockito.willCallRealMethod()
。为此,用以下代码替换当前的存根代码:
given(SomeHelper.helpMethod(Matchers.eq(SomeClass.class), Matchers.anyString(), Matchers.anyString())).willCallRealMethod();
这个委托给标准Mockito的doCallRealMethod()
方法