首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AssertJ JSON属性检查

AssertJ JSON属性检查
EN

Stack Overflow用户
提问于 2020-01-21 18:29:06
回答 3查看 5.9K关注 0票数 4

我有一个包含一些属性的JSONObject实例,

代码语言:javascript
复制
{
"name":"testName",
"age":"23"
}

我使用了下面的断言,但它失败了。这种在assertj中测试JSON的方法正确吗?

代码语言:javascript
复制
assertThat(jsonObject).hasFieldOrProperty("name");
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-21 18:52:45

我认为这与JSONObject类似于具有键-值对的映射的事实有关,而AssertJ则希望Java bean样式的对象检查属性是否存在。我从https://joel-costigliola.github.io/assertj/core/api/org/assertj/core/api/AbstractObjectAssert.html#hasFieldOrProperty(java.lang.String)的文档中理解了这一点。希望我找对地方了。

我的意思是说,AssertJ没有在map或JSONObject中声明要查找的字段。

我想你可以用JSONObject.has( String key )来代替。

票数 2
EN

Stack Overflow用户

发布于 2020-01-22 06:35:02

如果您想对JSON object进行任何严肃的断言,我推荐JsonUnit https://github.com/lukas-krecan/JsonUnit

票数 7
EN

Stack Overflow用户

发布于 2020-07-25 11:13:16

首先,您需要使用map类遍历键集(节点),然后验证键集是否包含您正在查找的特定节点。

代码语言:javascript
复制
Map<String, Object> read = JsonPath.read(JSONObject, "$");
assertThat(read.keySet()).contains("name");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59839076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档