如何实施" i" (迭代)在运行基于RestAssured的测试时包含数组的body()中

时间:2015-12-09 20:36:15

标签: java rest

我想知道在运行基于RestAssured的Testing时,如何在包含数组的body()中实现"i"(iteration)。我在下面有一个代码,你可以在引号中看到"body("Data[i].name" .... is not acceptable since I have "i"。有没有办法实施"我"所以它被认可了吗?

@Test
public void getContentTest1() {
    for (int i = 0; i < 3; i++) {
        RestAuth auth = new RestAuth();
        auth.authAdmin()
            .parameters(
                "a", 0 ,
                "b", 3
                       )
            .expect().statusCode(200)
            .body("Data[i].name",containsString("Test") )
            .get(myURL);
    }

}

1 个答案:

答案 0 :(得分:1)

我认为在测试方法中实现迭代是一种很好的做法,但为什么不尝试这样的方法:

    public void getContentTest1() {
        for (int i = 0; i < 3; i++) {
            String dataName = "Data[" + i + "].name";
            RestAuth auth = new RestAuth();
            auth.authAdmin()
                .parameters(
                    "a", 0 ,
                    "b", 3
                 )
            .expect().statusCode(200)
            .body(dataName,containsString("Test") )
            .get(myURL);
    }

}