2016-06-14 2 views
-2

Я работаю над TestNG. У меня есть класс, который имеет около тысячи методов dataProviders. Это выглядит так:Как управлять несколькими DataProvider в TestNG

Class X { 
    // some bootstrap code 

    @DataProvider(name = "test1") 
    public static Object[][] primeNumbers() { 

    } 

    DataProvider(name = "test2") 
    public static Object[][] primeNumbers() { 

    } 

    DataProvider(name = "test3") 
    public static Object[][] primeNumbers() { 

    } 


    ///// some more data providers 

    DataProvider(name = "test100") 
    public static Object[][] primeNumbers() { 

    } 
} 

Этот файл-образец растет долго. Я хочу разбить его на небольшие классы, чтобы он выглядел небольшим и поддерживаемым. Какие-либо предложения?

ответ

1

Согласно моему пониманию,

  1. Если этот класс X, имеющие поставщик данных, чтобы проверить один класс только, то это означает, что ваш класс делает так много вещей, если это так, то это противоречит для SRP (принцип единой ответственности) для этого класса. В этом случае вам следует реорганизовать основной класс, если это возможно.

  2. Если класс X используется для предоставления поставщикам данных более чем одного класса (может быть для всех классов в вашем проекте), вы можете его разбить и сделать разные классы поставщика данных для каждого конкретного класса и поставить поставщиков данных только для этого конкретного класса.

  3. Если ваш класс, подлежащий тестированию, достаточно мал, вы можете написать поставщиков данных в одном классе тестов, не записывая выделенный класс поставщика данных seprate для каждого класса.

Вы можете выбрать любой вариант в соответствии с требованиями вашего проекта. Надеюсь, это может вам помочь.

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