Получение NotAMockException вместо ошибки подтверждения при изменении режима проверки или ожидаемых аргументов PowerMock verifyStatic вызывает - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть тест, который проверяет, что статический метод был вызван с определенными аргументами

@PowerMockIgnore({"javax.management.*"})
@RunWith(PowerMockRunner.class)
@PrepareForTest({MyUtil.class})
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class MyTest {
    @Test
    public void Test() {
        PowerMockito.mockStatic(MyUtil.class);
        when(MyUtil.doStaticMethod(any(), any())).thenReturn("value");
        // do test
        ...
        verifyStatic(MyUtil.class, times(1));
        MyUtil.doStaticMethod("a", "b");
    }
}

Это прекрасно работает, если метод вызывается один раз с аргументами "a" и "b", однако, если я изменяю проверкув times(2) или "aa", "b" вместо получения ошибки при тестировании я получаю

org.mockito.exceptions.misusing.NotAMockException: Argument should be a mock, but is: class java.lang.Class

    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)
    at com.mycompany.project.MyUtil.doStaticMethod(S3ServiceUtil.java)
    at ...

Я использую Powermock 1.7.4 и mockito 2.8.9, и у меня настроен встроенный mock-maker-inline для финального классаизмерительные приборы.Я не смог ничего найти, есть идеи?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...