1

我一直在尝试使用 matchesJsonSchemaInClasspath 方法来验证我的 API 是否与预定义的 JSON 相匹配,但即使我采用 JSON 格式,测试用例也会继续通过,不确定我在这里做错了什么。或者这是对此的限制。

这是我的一段代码。

@Test
public void test(){
    given().get("http://jsonplaceholder.typicode.com/posts/1").then()
            .assertThat().body(matchesJsonSchemaInClasspath("postpaidAccCard.json"))
    .log().all();
}

我在“postpaidAccCard.json”中的静态数据是:-

{“时间”:“03:53:25 AM”,“毫秒_since_epoch”:1362196405309,“日期”:“03-02-2013”​​}

仍然通过了测试,如果有人可以帮助我解决这个问题,那就太好了。

4

1 回答 1

1

matchesJsonSchemaInClasspath 是一种将JSON 模式(不是纯 JSON)与提供的 API 响应 (JSON) 进行比较的方法。

创建 API 响应的 JSON 模式:

  1. 转到https://jsonschema.net/home

  2. 将 API 响应粘贴到左侧窗口中,然后单击提交按钮。

  3. 您的 JSON 模式文件将显示在右侧窗口中。

  4. 复制 JSON 架构并将其粘贴到 postpaidAccCard.json 文件中,然后重新运行您的测试。

于 2020-07-18T14:26:28.183 回答