Testing 比较自动化脚本中两个JSON数据的更好方法

Testing 比较自动化脚本中两个JSON数据的更好方法,testing,automated-tests,rest-assured,jbehave,Testing,Automated Tests,Rest Assured,Jbehave,我不熟悉JBehave Rest自动化脚本。下面我写了几行代码,其中我的要求是将每个实际JSON字段数据与预期数据进行比较。在这里,JSON中的字段数量是巨大的,我如何才能以最好的方式编写脚本来处理这种情况 JSONObject actualjson = new JSONObject(actualJsonresponse); JSONArray actualjsonData = actualjson.getJSONArray("outputDtlList"); JSONObject expect

我不熟悉JBehave Rest自动化脚本。下面我写了几行代码,其中我的要求是将每个实际JSON字段数据与预期数据进行比较。在这里,JSON中的字段数量是巨大的,我如何才能以最好的方式编写脚本来处理这种情况

JSONObject actualjson = new JSONObject(actualJsonresponse);
JSONArray actualjsonData = actualjson.getJSONArray("outputDtlList");
JSONObject expectedjson = new JSONObject(RTRestServicesBean.getConfigurationJsonConfigValue());
JSONArray expectedjsonData = expectedjson.getJSONArray("outputDtlList");

String actual_storagetype = actualjsonData.getJSONObject(0).getString("storageType");
String expected_storagetype = expectedjsonData.getJSONObject(0).getString("storageType");

Assert.assertEquals(actual_storagetype, expected_storagetype);

String actual_locnNbr = actualjsonData.getJSONObject(0).getString("locnNbr");
String expected_locnNbr = expectedjsonData.getJSONObject(0).getString("locnNbr");

Assert.assertEquals(actual_locnNbr, expected_locnNbr);
考虑使用

import static net.javacrumps.jsonunit.JsonAssert.*;
...
资产JSONEQUALS(预期JSON、实际JSONDATA);
考虑切换到,它可以更好地处理完整的JSON负载比较:

* def json = { foo: 'world', hey: 'ho', zee: [1, 2, 3] }
* remove json.hey
* match json == { foo: 'world', zee: [1, 2, 3] }