У меня есть проблема, подобная этой
public class ErrorLog {
public static void increment(String exception) {
// do something
}
}
import ErrorLog;
public class Calculator {
public int division(int a, int b) {
if (b == 0) {
ErrorLog.increment("Divide by Zero");
} else {
return a / b;
}
}
}
Я хочу проверить количество вызовов для деления, но когда у меня есть ситуация деления на ноль, каким-то образом убедитесь, что статический c метод ErrorLog.increment вызывается (с точной строкой в качестве параметра).
С шпионом Mockito я могу сделать что-то подобное, чтобы обеспечить вызов метода разделения.
Calculator c = new Calculator();
Calculator calcSpy = spy(c);
c.division(6, 3);
c.division(1, 0);
verify(calcSpy, times(2)).division(anyInt(), anyInt());
Я также заинтересован в проверке что-то вроде этого
verify(ErrorLog, times(1)).increment("Divide by Zero");
Я исследовал конструкции PowerMockito verifyStati c и mockStati c, также проверил это вызов метода mockito verify внутри метода , но в моем случае это метод, который внутри объекта вызывается статус c.