BDDMockito调用真实静态模拟方法

时间:2015-05-18 10:00:59

标签: java mocking mockito

使用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");
        }
    });

1 个答案:

答案 0 :(得分:1)

听起来您想使用BDDMockito.willCallRealMethod()。 为此,请使用以下内容替换当前的存根代码:

given(SomeHelper.helpMethod(Matchers.eq(SomeClass.class), Matchers.anyString(), Matchers.anyString())).willCallRealMethod();

这代表了标准Mockito的doCallRealMethod()方法。