2015-07-19 4 views
2

У меня есть служебный класс со статическим методом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> 
+0

Возможно, наследование PowerMockTestCase отсутствует? @PrepareForTest (класс A.class) общественного класса UnitTest расширяет PowerMockTestCase { ... } –

+0

@DamienBeaufils Да. Это решает. Дополнительная информация - https://code.google.com/p/powermock/issues/detail?id=54#c9. Спасибо, что направил меня. Я попытался сделать еще больше Google и пришел к этой проблеме, а также в разделе комментариев https://code.google.com/p/powermock/wiki/TestNG_usage. – Aks

ответ

1

После комментария от Дэмиена Beaufils, я пытался Google все больше и, наконец, нашел пост в вопросах powermock Google группы, описывающий ту же проблему.

Решение состоит в том, что вы тестируете должны расширить PowerMockTestCase (который импортируется из TestNG powermock модуль т.е. org.powermock.modules.testng)

Подробнее - code.google.com/p/powermock/issues/ detail? id = 54 # c9

Смежные вопросы