【问题标题】:Two rest api response diff using rest assured两个rest api response diff使用放心
【发布时间】:2017-11-10 08:01:05
【问题描述】:

我正在尝试比较两个环境的其余 API 响应。我正在使用“放心”来获得回复。我面临的问题是我得到了一个包含几个哈希图的哈希图。

我已尝试将地图展平为一张地图,但当响应略有不同时,我仍然缺少层次结构

这是其余响应的示例

{  
   programmes:[  
      {  
         episodenumber:21,
         seasonnumber:5,
         seasontitle:"program Season 5",
         seasonuuid:"7aabb30e-39a1-48bb-8dca-38f732c9c982",
         seriestitle:"programm",
         seriesuuid:"f95caa09-8cd7-4e23-a88a-444f7932714d",
         sy:"blah blah blah. (S5, ep 21)",
         t:"blah blah Fathers",
         trailer:false,
         type:"programme",
         uuid:"69b91264-37c9-4b2f-a515-b45805a58867",
         uuidtype:"programme",
         waystowatch:{  
            svod:[  
               {  
                  ad:false,
                  added:1495800164,
                  at:"DD",
                  availendtime:1497729599,
                  broadcasttime:1495137600,
                  cgid:10053,
                  cgname:"blah",
                  channelname:"blah1 HD",
                  d:2880,
                  downloadlink:"oig://FFC27E94",
                  hardofhearing:false,
                  is3d:false,
                  providerid:"ab_st_hd",
                  providername:"blah HD",
                  s:true,
                  sid:4061,
                  size:2352611,
                  sy:"blah blah. (S5, ep 21)",
                  videotype:"HD"
               }
            }
         ]         ps:255,
         tc:3
      }

我正在使用番石榴差异库,为此,我需要一个简单的地图。我知道这可能不是进行这种比较的最佳方法,但这是短期的,这就是我能想到的。我的问题是如何将这个响应展平以制作一张我可以传递给的地图

 MapDifference<String, ?> diff = Maps.difference(test, test2);

或者有没有更好的方法来比较两个响应放心。我必须在运行时得到两个响应。

【问题讨论】:

标签: java optimization hashmap diff rest-assured


【解决方案1】:

如果您愿意评估其他工具,请查看Karate,因为它旨在:

  • 允许您在(简化的)JSON 本身中指定预期的有效负载
  • 使您能够对两个 JSON 有效负载执行“深度相等”比较
  • 如果您只想检查字段的子集,请灵活处理contains
  • 通过让您将这些字段标记为被忽略或使用fuzzy match 来处理动态值
  • 甚至可以让您处理元素为 JSON(而不仅仅是基元)的数组,并在需要时忽略顺序

免责声明:我是开发人员。

【讨论】:

    猜你喜欢
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 2022-01-01
    • 2022-09-30
    • 2022-11-30
    • 2017-12-24
    相关资源
    最近更新 更多