restassuredjson检查根据节点的深度返回[and]字符

nukf8bse  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(206)

我正在与一个奇怪的问题作斗争,使用restasured测试web服务的响应。
这个ws返回json。当我使用restassured方法检查json内容时,返回值周围有“[”、“]”、“<”和“>”。如果该值来自响应的第一个节点,则从第二个节点得到:“[p1]”,即:“[p1]”。
下面是用于测试的代码。

@Test
    public void getFavorites() throws Exception {
        String login = "bop@yopmail.com";
        String password = "Password123!";
        Cookies cookie = connect(login, password);

        log.debug("Récupération des favoris");
        ExtractableResponse<Response> r = given().
                                cookies(cookie).when().get(adminBaseUrl + "/favorite").
                                then().
                                assertThat().
                                log().all().
                                statusCode(HttpStatus.OK.value())
                                .extract();
        assertEquals("P1",r.body().jsonPath().getString("current.name").replace("[", "").replace("]", "")); 
        assertEquals("Discussion",r.body().jsonPath().getString("children.current.name").replace("[", "").replace("]", "")); 
}

以下是回复内容:

[
    {
        "current": {
            "name": "P1",
            "id": 1,
            "title": "P1",
            "closed": false
        },
        "children": [
            {
                "current": {
                    "name": "Discussion",
                    "id": 1,
                    "title": "Discussion",
                    "closed": false
                },
                "children": [
                    {
                        "current": {
                            "current": null,
                            "children": [

                            ],
                            "name": "EEEE",
                            "id": 9,
                            "value": "EEEE",
                            "type": "TEXT",
                            "discussId": 1
                        },
                        "children": [

                        ]
                    }
                ]
            }
        ]
    }
]

你知道吗?我必须使用restasured3.1.1,因为我使用的是springboot2.1.4

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题