JMockit捕获并替换接口方法逻辑

时间:2013-02-25 13:25:45

标签: java jmockit

如何捕获接口方法的调用并使用JMockit将被捕获的接口方法的逻辑替换为模拟的?

1 个答案:

答案 0 :(得分:2)

是的,“JMockit教程”清楚地描述了这里:http://jmockit.googlecode.com/svn/trunk/www/tutorial/StateBasedTesting.html#interfaces

以下是复制粘贴的代码示例,该代码模仿CallBackHandler接口并提供handle方法的自己实现:

@Test
public void mockingAnInterface() throws Exception
{
    CallbackHandler callbackHandler = new MockUp<CallbackHandler>() {
        @Mock
         void handle(Callback[] callbacks)
         {
             assertEquals(1, callbacks.length);
             assertTrue(callbacks[0] instanceof NameCallback);
         }
    }.getMockInstance();

    callbackHandler.handle(new Callback[] {new NameCallback("Enter name:")});
}