使用Junit Suite运行测试例时如何将参数传递给测试例

时间:2019-02-21 19:32:54

标签: selenium junit maven-surefire-plugin junit-runner

我想运行我在软件包中创建的多个Junit测试。每个测试都需要区域和服务器参数来加载正确的数据文件。我正在使用System.getProperty来获取所有junit测试的区域和serverdetails。我不确定如何在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 {


        }

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

1 个答案:

答案 0 :(得分:1)

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

示例

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

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