如何验证静态空隙方法是否已使用功率模拟调用
我正在使用以下内容。
Powermock-mockito 1.5.12
Mockito 1.95
junit 4.11
这是我的utils类
public void InternalUtils {
public static void sendEmail(String from, String[] to, String msg, String body) {
}
}
以下是所测试类的要点:
public class InternalService {
public void processOrder(Order order) {
if (order.isSuccessful()) {
InternalUtils.sendEmail(...);
}
}
}
这是测试:
@PrepareForTest({InternalUtils.class})
@RunWith(PowerMockRunner.class)
public class InternalService {
public void verifyEmailSend() {
mockStatic(Internalutils.class);
doNothing().when(InternalUtils, "sendEmail", anyString(), any(String.class), anyString(), anyString());
Order order = mock(Order.class);
when(order.isSuccessful()).thenReturn(true);
InternalService is = new InternalService();
verifyStatic(times(1));
is.processOrder(order);
}
}
上述测试失败。给出的验证模式为无,但根据代码,如果订单成功,则必须发送电子邮件。