我使用下面的放心代码编写了一个简单的测试
@Test
public void exampleRestTest() {
RestAssured.baseURI = "https://jsonplaceholder.typicode.com/";
Response res = RestAssured.get("posts/1");
res.print();
res.then()
.body("id", equalTo(1))
.body("userId", equalTo(1))
.body("title",contains("sunt aut facere repellat provident occaecati excepturi optio reprehenderit"));
res.print() 中的 JSON 是:
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit suscipit recusandae consequuntur expedita et cum reprehenderit molestiae ut ut quas totam nostrum rerum est autem sunt rem eveniet architecto"
}
测试输出:
java.lang.AssertionError: 1 expectation failed.
JSON path title doesn't match.
Expected: iterable containing ["sunt aut facere repellat provident occaecati excepturi optio reprehenderit"]
Actual: sunt aut facere repellat provident occaecati excepturi optio reprehenderit
为什么?我必须摆脱可迭代包含?