【发布时间】:2017-06-23 08:29:08
【问题描述】:
我正在使用 REST-Assured 来测试一些 API。我的 API 清楚地使用 JSON 响应,如果这是响应,则根据文档:
{
"id": "390",
"data": {
"leagueId": 35,
"homeTeam": "Norway",
"visitingTeam": "England",
},
"odds": [{
"price": "1.30",
"name": "1"
},
{
"price": "5.25",
"name": "X"
}]
}
我可以这样测试:
@Test
public void givenUrl_whenSuccessOnGetsResponseAndJsonHasRequiredKV_thenCorrect() {
get("/events?id=390")
.then()
.statusCode(200)
.assertThat()
.body("data.leagueId", equalTo(35));
}
这当然是可读的,但我会全面比较 JSON(即:这是 JSON 响应;这是一个罐装 JSON - 资源文件将是完美的 - 那些 JSON 是否相等?)。 REST-Assured 是否提供类似的功能,或者我需要手动制作。
【问题讨论】:
-
你有没有研究过 json 模式验证:github.com/rest-assured/rest-assured/wiki/…
-
我不需要模式验证。我需要一个 result 验证(不仅是类型,而且是值)。这对于 JSON Schema 来说会很麻烦(假设有可能)
标签: json rest rest-assured