JSON路径标题不匹配

时间:2018-03-03 12:29:41

标签: testing rest-assured rest-assured-jsonpath

我使用下面的代码

编写了一个简单的测试
@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

为什么呢? 我必须从包含?

的iterable中逃脱

1 个答案:

答案 0 :(得分:0)

你想使用'包含'匹配器只? '含有' matcher检查期望的Iterable对象是否包含在实际的集合对象中。

你应该使用' containsString'匹配器如下:

.body("title",containsString("sunt aut facere repellat provident occaecati excepturi optio reprehenderit"))
相关问题