【发布时间】:2021-12-27 16:11:52
【问题描述】:
任何人都可以帮助正确的放心匹配器吗?
我有一条自定义错误消息,由休息控制器建议返回。它包含一个meta 字段,其中存储有code 和description 的对象。
我正在编写一个测试,我正在尝试检查是否存在正确的元数据,所以:
body("meta", hasItem(ErrorDto(code = "code", description = "description")))
我收到一个错误:
java.lang.AssertionError: 1 expectation failed.
JSON path meta doesn't match.
Expected: a collection containing <ErrorDto(code=code,
description=description)>
Actual: <[{code=code, description=description}]>
似乎 hasItem 不适合这种情况。我尝试使用其他 Matcher,但我得到了同样的错误...... 附:索引方法工作正常,但恕我直言,它有点难看......
body("meta[0].code", equalTo("code"))
body("meta[0].description", equalTo("description"))
我试图解决这个问题几个小时,但我完全卡住了......有什么想法吗?
【问题讨论】:
-
因为这是 LinkedHashMap,而不是你的 ErrorDto。
标签: kotlin rest-assured matcher