首页 > 解决方案 > RestAssured,JSON:验证字段中是否缺少值

问题描述

我有以下示例 URI:

localhost/users

当我向它发送请求时,这个 JSON 作为响应:

[
  {
    "id": 1,
    "name": "Joe"
,
  {
    "id": 3,
    "name": "Ben"
,
  {
    "id": 4,
    "name": "Jim"
    }
  }
]

如何使用 RestAssured 进行验证,例如没有 id = 2 的用户?

会不会是这种半伪的东西:

 given().spec(requestSpecification)
                .when().get("/users")
                .and().body("id==2", ????);

任何建议/指导将不胜感激,谢谢。

标签: javajsonrest-assured

解决方案


尝试这个:

given().spec(requestSpecification)
                .when().get("/users")
                .and().body("id", is(not(equalTo(2))));

使用放心文档部分使用响应来验证响应的其他部分提供了更多详细信息。

is(not(Matcher))hamcrest提供


推荐阅读