TestNG DataProvider с PowerMock - PullRequest
       43

TestNG DataProvider с PowerMock

1 голос
/ 16 января 2012

Я использую Mockito и TestNG для моего модульного тестирования. У меня есть статический метод, для которого я попробовал PowerMock. К сожалению, я не могу использовать DataProvider в TestNG вместе с PowerMock.

Вопрос: Есть ли способ использования DataProvider TestNG при использовании PowerMock?

Ответы [ 2 ]

3 голосов
/ 16 апреля 2014

Есть обходной путь. Все параметры параметризованного метода испытаний должны быть объявлены как Тип объекта. В теле метода испытаний вам необходимо привести их к фактическим типам.

@Test(dataProvider = "data")
public void testMethodThatUsesPowerMock(Object parameter) {
    mockStatic(SomeClass.class);
    DataType param = (DataType) parameter;
    // ... 
}

@DataProvider
public Object[][] data(){
    return new Object[][]{
            new Object[]{new DataType()}
    };
}
0 голосов
/ 05 июня 2019

В верхней части PowerMockRunner вы можете использовать DataProviderRunner от PowerMockRunnerDelegate и получать неявно приведенные аргументы тестовой функции.

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(DataProviderRunner.class)
// ...
public class Test {
// ...
}

https://blog.jayway.com/2014/11/29/using-another-junit-runner-with-powermock/

...