Проверьте вызовы статических методов с помощью MockitoJAVA

Программисты JAVA общаются здесь
Anonymous
Проверьте вызовы статических методов с помощью Mockito

Сообщение Anonymous »

Я пытаюсь проверить в тесте, что вызывается статический метод. Для этой цели я использую Mockito.
Этот вопрос похож на этот. Однако решение, предложенное в ответе с наибольшим количеством голосов, больше не применимо, поскольку метод проверки MockedStatic устарел.

Код: Выделить всё

try (MockedStatic dummyStatic = Mockito.mockStatic(SomePublicClass.class)) {
dummyStatic.when(() -> SomePublicClass.myPublicStaticFunc(anyInt()))
.thenReturn(5);
// when
System.out.println(SomePublicClass.myPublicStaticFunc(7));
//then
dummyStatic.verify(
times(1),
() -> SomePublicClass.myPublicStaticFunc(anyInt())
);
}
Альтернатива — позвонить

Код: Выделить всё

verify(dummyStatic).myPublicStaticFunc(anyInt);
Однако он жалуется, что метод myPublicStaticFunc(int) не определен для типа
MockedStatic.
Каковы мои альтернативы или что мне не хватает. Кроме того, я знаю, что могу попробовать это с помощью PowerMock, но на данный момент я пытаюсь заставить это работать только с помощью Mockito.

Подробнее здесь: https://stackoverflow.com/questions/689 ... th-mockito

Вернуться в «JAVA»