我正在使用以下内容。
Powermock-mockito 1.5.12
Mockito 1.95
junit 4.11
这是我的实用程序类
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);
}
}
上述测试失败。给定的验证方式是none,但是根据code,如果下单成功则必须发送email。