0

我想运行我在一个包中创建的多个 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);
    }
}

这是测试套件

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


        }

我可以使用 mvn install -Dtest="ExpenseTests" -Dserver="prod" -Dregion="us" 运行 ExpenseTest,但是如何在上面的 SmokeTestSuite 中传递区域和服务器详细信息?

4

1 回答 1

1

我认为您可以使用全局变量将参数传递给所有测试用例。

例子

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

然后将其传递给所有测试用例。

于 2019-02-22T12:50:09.753 回答