как передать параметры в тестовый пример при его запуске с помощью Junit Suite

Я хочу запустить несколько тестов Junit, которые я создал в пакете. Каждому тесту нужны параметры региона и сервера для загрузки правильных файлов данных. Я использую System.getProperty для получения сведений о регионе и сервере для всех тестов junit. Я не знаю, как передать эти параметры в TestSuite Runner. Вот тестовый пример, который я создал

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ExpenseTests {
    private static String server = System.getProperty("server");
    private static String region = System.getProperty("region");

    @BeforeClass
    public static void setup() throws Exception {
        SetUp setUp = new SetUp(region, server);
        Login(region, server);
        CreateClient(region, server);
    }
    @Test
    public void test1_checkexpense() {
     // code here
    }

    @Test
    public void test2_addbasicExpense() {
       //code here
    }
    @AfterClass
    public static void teardown() throws Exception {
       quit(webpage);
    }
}

Вот TestSuite

@RunWith(Suite.class)
    @Suite.SuiteClasses({
            ExpenseTests.class
            AnotherTest.class
})
    public class SmokeTestSuite {


        }

Я могу запустить ExpenseTest, используя mvn install -Dtest="ExpenseTests" -Dserver="prod" -Dregion="us", но как мне передать данные о регионе и сервере в вышеупомянутом SmokeTestSuite?


person garima    schedule 21.02.2019    source источник


Ответы (1)


Я думаю, вы можете использовать глобальную переменную для передачи параметра всем тестам.

Пример

public static String server = System.getProperty("server");
public static String region = System.getProperty("region");

Затем передайте его всем тестовым примерам.

person Mr.Kim    schedule 22.02.2019