Я новичок в Mockito и PowerMockito. У меня есть метод тестирования, в котором я использую PowerMockito для макетирования статического рекурсивного метода. Мне нужно проверить, что конкретный метод вызывается 2 раза. Но контрольный пример не проходит. Также фактический метод не ударил.
Это код.
Метод испытания:
public class Util {
public static void methodToTest(String a, String b) {
..............
methodToTest(c, d);
}
}
Контрольный пример:
public void testMethodToTest() {
PowerMockito.mockStatic(Util.class);
Util.methodToTest(e, f);
verifyStatic(Util.class, Mockito.times(2));
Util.methodToTest(Matchers.anyString(), Matchers.anyString());
}
Но когда я запускаю тест, он терпит неудачу со следующей ошибкой.
Wanted 2 times but was 1 time.
at org.powermock.core.MockGateway.doMethodCall(MockGateway.java:182)
at org.powermock.core.MockGateway.doMethodCall(MockGateway.java:164)
at org.powermock.core.MockGateway.methodCall(MockGateway.java:141)
В идеале с помощью Util.methodToTest (e, f) вызов должен вызывать фактический methodToTest дважды.
Я отладил код, а затем заметил, что вызов Util.methodToTest (e, f) не идет внутри самого метода.
В чем проблема в этом коде? И как я могу убедиться, что этот рекурсивный метод вызывается дважды?
Любая помощь приветствуется.
Версия Powermock - 1.7.4