TestNG + Mockito + PowerMock - verifyStatic () не работает

Я новый TestNG и юнит-тестирование в целом. Я использую TestNG 6.9.6 с Mockito 1.10.19 и PowerMock 1.6.4. Я хочу проверить, является лиmyMethod() метод вMyService класс внутренне вызывает статический методUtil.myStaticMethod с правильными аргументами. Поскольку проверка статических методов не поддерживается в Mockito, я использую PowerMock вместе с ним. Мой тестовый класс показан ниже:

public class MyTest
{
    private MyService myService;

    @Captor ArgumentCaptor<String> argCaptor;

    @BeforeMethod
    public void setup()
    {
        MockitoAnnotations.initMocks( this );
        myService = new MyService();
    }

    @Test
    @PrepareForTest(MyService.class)
    public void myTest()
    {
        PowerMockito.mockStatic(Util.class);
        myService.myMethod("arg");

        PowerMockito.verifyStatic(10);
        Util.myStaticMethod(anyString());
    }
}

Ожидается, что этот тест не пройден, так какmyMethod вызывает статический методUtil.myStaticMethod() только однажды. Но когда я запускаю тест, он всегда проходит, независимо от того, какое значение я передаюPowerMockito.verifyStatic().

Кроме того, если я пишу другой метод теста в этом классе, а затем запускаю тест, я получаю следующую ошибку

org.mockito.exceptions.misusing.UnfinishedVerificationException: 
Missing method call for verify(mock) here:
-> at mypackage.MyTest.myTest(MyTest.java:21)

Example of correct verification:
    verify(mock).doSomething()

Also, this error might show up because you verify either of: final/private/equals()/hashCode() methods.
Those methods *cannot* be stubbed/verified.
Mocking methods declared on non-public parent classes is not supported.

    at mypackage.MyTest.myTest.setup(MyTest.java:10)


Results :

Failed tests: 
  MyTest.setup:10 UnfinishedVerification 
Missing method call for ver...

Tests run: 3, Failures: 1, Errors: 0, Skipped: 1

Это терпит неудачу вverifyStatic() метод, который заставляет меня думать, что метод verifyStatic () нуждается в чем-то большем, чего я не предоставляю. Кроме того, оно показывает общее количество тестов как 3, тогда как в этом случае у меня есть только два метода тестирования.

Любая помощь будет оценена.

РЕДАКТИРОВАТЬ : Как и предполагалось, я попытался положитьMyUtil класс в@PrepareForTest аннотации, это все равно дает ту же ошибку.

Ответы на вопрос(2)

Ваш ответ на вопрос