问题标签 [jsonassert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 忽略 jsonassert 中的特定属性/字段
我需要通过忽略一些字段来比较两个 json 字符串
我目前正在使用来自 org.SkyScreamer 的 JSONAssert 进行比较,但不会忽略任何属性。
json 1:
json 2:
我希望上述情况应该通过。但它失败了
json - 在针对相同的第一个请求的第二个响应中断言 json 参数值
应用程序与餐饮业务相关,我有以下场景(api调用):
- 创建订单- 创建任何食品的订单(设为 X),其库存在后端更新(此值正在测试中,设为 P1)
- 获取库存-(此调用将为我获取已订购商品 (X) 库存的更新值,即库存值,P1)
- 取消订单- 这将取消我在第一次通话中创建的订单,因此应该回滚 P1。
- 获取库存- 我将再次点击此调用以获取值,以验证 P1 的库存值是否已正确更新。
在 API 调用中,(2) 我使用jp@gc Json Extractor提取 P1 值,我对同一个调用 (4) 所做的相同。现在按照我的预期,在这两个提取器中获得的价值应该是相等的,因为现在已经取消了订单。
为了断言这些值,我使用JSON Assertion,要么我使用了错误的断言,要么在这里缺少大量信息。
可能有类似我可以先将值保存在某个变量中,然后断言的东西。
java - 比较两个 json 文件时忽略特定属性
我已经成功地使用 JSONAssert 来比较两个这样的 json 响应:
我现在需要忽略此处描述的某些属性:
在比较两个 JSON 时忽略特定节点/属性 我的新声明是:
我收到以下错误:
我正在使用一个名为 Katalon 的测试工具,它支持 java/groovy。任何输入将不胜感激。谢谢
java - JSONAssert - 在指定范围内进行比较
我正在比较来自两个不同服务器的 JSON 响应。它们应该基本匹配,但由于缓存,温度、风速等字段存在一些小的差异。
我目前正在使用自定义来忽略某些总是这样失败的字段:
问题:
- 我将如何指定一个范围(温度可以在 10 以内)?
- 如何指定该值只匹配某种类型(字符串、整数)?
JSON 样本:
JSON 1
JSON 2
我正在使用一个名为 Katalon 的测试工具,它支持 groovy/java。任何帮助将不胜感激。谢谢!
java - 是否有任何具有比较模式的新 JSONAssert 替代品?
我想知道 JSONAssert 库是否有任何替代方案,它允许以类似的方式断言 JSON 文件。与 JSONCompareMode 具有类似功能的替代方案,如 STRICT 和 NON_EXTENSIBLE 等。 JSONAssert 中的最后一次提交似乎很旧 - > https://github.com/skyscreamer/JSONassert/commits/master看起来该项目不是发展了。
java - 使用 JSONAssert 查找 json diff 失败
我希望使用 Jackson 来查找 JSON 差异,但它没有给出详细的错误消息。
所以我尝试使用 JSOnAssert 来查找两个 JSON 字符串之间的差异。
遗憾的是,它似乎没有正确匹配并给出示例中的详细错误消息。如果你用过,能解释一下吗?
实际 JSON:
预期的 JSON:
java - JSONAssert 忽略特定字段的顺序
JSONAssert 需要比较两个 JSON 字符串:
字符串A
字符串B
两个 JSON 字符串应该相等:
items
在模式下比较STRICT
,即“严格检查。不可扩展,严格的数组排序”。auths
在模式下比较NON_EXTENSIBLE
,即“不可扩展检查。不可扩展,非严格数组排序”。
换句话说,比较对于 是顺序敏感的,items
但对于 是顺序容错的auths
。
JSONAssert
代码是:
忽略顺序比较两个字符串列表的TestUtil
代码是:
它会出错,因为它不符合JSONAssert
约定,但我还没有找到另一种解决方案。有人帮帮我吗?
jsonassert - 如果生成的有效负载具有附加数组值,则 JSONAssert.assertequals 比较两个 json 失败
我的 api 有一个位于数组内的响应负载,并且数组的大小可以在测试运行之间改变。数组很大,因此不会在此处发布预期/实际值。
我有断言代码可以比较两个有效负载并忽略我期望不同的值。但是如果响应数组比预期的大(这可能在我的情况下)它会失败。有没有办法在 JSONAssert.assertequals() 方法中忽略数组验证的大小?JSONCompareMode.LENIENT 没有削减它。
我可以忽略有效载荷中的任何键/值对,并且断言仍然通过。但是如果我有一个比预期大的响应数组,那么它就会失败。
java.lang.AssertionError: []: Expected 55 values but got 57
我的断言代码:
json - Jsonassert 忽略键
有 2 个 Json 字符串要比较。
1
2
我想忽略这些对象的键,只匹配内部字段。这对 JsonAssert 或任何其他库是否可行?我们可以使用自定义忽略这些字段。但没有找到只忽略对象键并验证子值的方法。