3
我不断获取WanterButNotInvoked例外,在我的UT与下面的代码:模拟单类无效的方法使用PowerMockito
@RunWith(PowerMockRunner.class)
@PrepareForTest({ CounterHandler.class,
TrHandlerProtocolsCounterHandler.class, IProtocolCounterHandler.class })
@Test
public void testInitialize()
{
IProtocolCounterHandler counter = new TrHandlerProtocolsCounterHandler();
CounterHandler mockCounter = PowerMockito.spy(CounterHandler.getInstance());
PowerMockito.doNothing().when(mockCounter).initialize();
counter.initialize();
Mockito.verify(mockCounter).initialize();
} ================ ======
CounterHandler类
public void initialize() {
//do something
}
======================
TrHandlerProtocolsCounterHandler类
@Override
public void initialize() {
CounterHandler.getInstance().initialize();
}
我已经调试这Counterhandler.getInstance.initialize被执行了,但是当我尝试验证它,它说,有与模拟没有互动。谢谢!
+1最好把文章的内容放在这里,很容易引用。因为链接可能会在某段时间后中断。 – 2017-10-03 09:22:31