Powermock проверяет частный статический вызов метода в нестатическом методе
Уважаемые товарищи stackoverflow, у меня снова есть проблема в получении конкретного случая PowerMock / Mockito для работы.Проблема в том, что мне нужно проверить вызов частного статического метода, который вызывается из открытого нестатического метода, Подобный пример я выложил ранее наКак подавить и проверить частные вызовы статических методов?
Это мой код:
class Factory {
public String factorObject() throws Exception {
String s = "Hello Mary Lou";
checkString(s);
return s;
}
private static void checkString(String s) throws Exception {
throw new Exception();
}
}
И это мой тестовый класс:
@RunWith(PowerMockRunner.class)
@PrepareForTest(Factory.class)
public class Tests extends TestCase {
public void testFactory() throws Exception {
Factory factory = mock(Factory.class);
suppress(method(Factory.class, "checkString", String.class));
String s = factory.factorObject();
verifyPrivate(factory, times(8000)).invoke("checkString", anyString());
}
}
Проблема в том, что тест пройден успешно, но не должен. Этого не должно быть, потому что закрытый статический метод должен вызываться ровно 1 раз. Но независимо от того, какое значение я поместил в times (), он всегда проверяет, что это правда ... halp :(