接口测试 rest-assure 中文断言无法正确判断?

狂天 · 2022年11月24日 · 最后由 Eason 回复于 2022年11月30日 · 4421 次阅读

这是一个 rest-assure 的接口请求,我判断返回是否与我的相符。

given().get("https://localhost/info").then().body("data.orgName" +
        ".findAll{it.id=1}.name".trim(), equalTo("[出版单位, 行业组织, 科研机构, 政府机构, 院校, 其他]");

结束报断言错误:java.lang.AssertionError: 1 expectation failed.
JSON path data.orgName.findAll{it.id=1}.name doesn't match.

由上图可看出,我的期望与实际的返回是一样的呀,为啥还报不符合呢?

共收到 5 条回复 时间 点赞


我把 findall 改成了 find,只返回一个值,然后进行对比的话,可以正常通过。
那也就是说问题出在组的对比上。

两个类型是不一样的吧,一个是数组,一个是字符串

49875183 回复


我用了字符串数组和 arraylist 之后,看着差异更大了。。

@ycwdaaaa 孙大佬了解吗?

狂天 回复

你把数据类型打出来就知道为什么了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册