放心 "OR" 条件
Restassured "OR" condition
我有 REST 用于按名称查找用户,对于某些搜索词 returns 名或姓中包含该词的用户。
GET /search/joe
returns json 数组:
[
{"id": 1, "firstName": "Joe", "lastName": "Doe"},
{"id": 2, "firstName": "Alex", "lastName": "Joelson"}
]
如何放心地测试此 REST 并验证给定的搜索词是否包含在每行的名字或姓氏中,不区分大小写?
given()
.when()
.get("/user/search")
.then()
.statusCode(200)
.body(?)
没有 User
对象:
Response response = given().when().get("/user/search");
response.then().statusCode(200);
JSONArray users = new JSONArray(response.asString());
for (int i = 0; i < users.length(); i++) {
JSONObject user = users.getJSONObject(i);
String firstName = user.getString("firstName").toLowercase();
String lastName = user.getString("lastName").toLowercase();
Assert.assertTrue(firstName.contains("joe") || lastName.contains("joe"));
}
如果您有 User
对象,请考虑使用 Jackson 或 JsonPath 来简化验证。您还可以考虑使用 Hamcrest 进行验证。
我有 REST 用于按名称查找用户,对于某些搜索词 returns 名或姓中包含该词的用户。
GET /search/joe
returns json 数组:
[
{"id": 1, "firstName": "Joe", "lastName": "Doe"},
{"id": 2, "firstName": "Alex", "lastName": "Joelson"}
]
如何放心地测试此 REST 并验证给定的搜索词是否包含在每行的名字或姓氏中,不区分大小写?
given()
.when()
.get("/user/search")
.then()
.statusCode(200)
.body(?)
没有 User
对象:
Response response = given().when().get("/user/search");
response.then().statusCode(200);
JSONArray users = new JSONArray(response.asString());
for (int i = 0; i < users.length(); i++) {
JSONObject user = users.getJSONObject(i);
String firstName = user.getString("firstName").toLowercase();
String lastName = user.getString("lastName").toLowercase();
Assert.assertTrue(firstName.contains("joe") || lastName.contains("joe"));
}
如果您有 User
对象,请考虑使用 Jackson 或 JsonPath 来简化验证。您还可以考虑使用 Hamcrest 进行验证。