2016-12-09 2 views
2

Ich habe REST für die Suche nach Benutzern nach Namen, die für einige Suchbegriffe Benutzer zurückgibt, die diesen Begriff im Vor- oder Nachnamen hat.Restured "OR" Bedingung

GET /search/joe 

kehrt json Array:

[ 
    {"id": 1, "firstName": "Joe", "lastName": "Doe"}, 
    {"id": 2, "firstName": "Alex", "lastName": "Joelson"} 
] 

Wie dieser REST mit restassured testen und diese bestimmten Suchbegriff überprüfen, ob entweder Vor- oder Nachnamen jeder Zeile, Groß- und Kleinschreibung enthält?

given() 
    .when() 
    .get("/user/search") 
    .then() 
    .statusCode(200) 
    .body(?) 

Antwort

3

Ohne User Objekt:

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")); 
} 

Wenn Sie ein User Objekt haben, schauen Sie in Jackson oder JsonPath mit der Validierung einfacher zu machen. Sie können auch prüfen, ob Hamcrest die Validierungen durchführt.

Verwandte Themen