1

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

4

1 回答 1

2

是的,它在“The JMockit Tutorial”中有清楚的描述,这里: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:")});
}
于 2013-02-26T17:04:11.120 回答