У меня есть служебный класс со статическим методомPowerMock и Mockito не работает для TestNG
public class A {
public static boolean test1(){
// Do something
return true;
}
}
Я пытаюсь издеваться test1 с помощью Powermockito и используя TestNG для тестирования
@PrepareForTest(A.class)
public class UnitTest{
@Test
public void testTest1() {
PowerMockito.mockStatic(A.class);
when(A.test1()).thenReturn(false);
}
}
https://code.google.com/p/powermock/wiki/TestNG_usage Описывает меня для этого.
Однако в "when (A.test1()) thenReturn (false);" он вызывает фактический метод test1() во время установки Mockito.when для метода test1(). Следовательно, я считаю, что настройка не выполняется правильно, если она не может распознать класс А как макет
Я делаю что-то неправильно здесь?
Моей зависимости в pom.xml -
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<scope>test</scope>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-testng</artifactId>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
Возможно, наследование PowerMockTestCase отсутствует? @PrepareForTest (класс A.class) общественного класса UnitTest расширяет PowerMockTestCase { ... } –
@DamienBeaufils Да. Это решает. Дополнительная информация - https://code.google.com/p/powermock/issues/detail?id=54#c9. Спасибо, что направил меня. Я попытался сделать еще больше Google и пришел к этой проблеме, а также в разделе комментариев https://code.google.com/p/powermock/wiki/TestNG_usage. – Aks