Как использовать @DataProvider присутствует в другом классе

Как пользоваться @DataProvider что присутствует в другом классе?

Я создал другой пакет и определил поставщиков данных рядом с каждым тестовым примером. Пожалуйста, поделитесь, как я могу использовать это в другом классе.

2 ответа

Решение

Вы можете использовать dataProviderClass атрибут @Test:

public class StaticProvider {
  @DataProvider(name = "create")
  public static Object[][] createData() {
    return new Object[][] {
      new Object[] { new Integer(42) }
    };
  }
}

public class MyTest {
  @Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
  public void test(Integer n) {
    // ...
  }
}

Проверьте документацию для более подробной информации.

Если у вас есть уникальное имя метода dataProvider (createData), и если вы решили не давать имя после аннотации DataProvider, как показано ниже,

@DataProvider    
public Object[][] createData(){

}

Затем вы можете использовать имя метода, как показано ниже,

@Test(dataProvider = "createData", dataProviderClass = StaticProvider.class)
Другие вопросы по тегам