Поэтому я использую следующее.
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);
}
}
Вышеуказанный тест терпит неудачу. Предоставляемый режим проверки - нет, но в соответствии с кодом, если заказ успешный, чем электронная почта должна быть отправлена.