当前位置: 首页 > 知识库问答 >
问题:

验证嵌套响应主体rest-assured

慎弘化
2023-03-14

我知道rest assure中有很多关于验证的信息,但不幸的是,我无法找到我的问题的确切解决方案。

我正在训练以验证以下JSON的响应:

{
"A":[
  {
     "B":[
        {
           "C":"c",
           "D":"d"
        }
     ],
     "E":[
        {
           "F":[
              {
                 "G":"g1"   
              }
           ]
        },
        {
           "F":[
              {
                 "G":"g2"
              }
           ],
        },
        {
           "F":[]
        }
     ]
  }
],
"H": "h"
}

具有以下代码:

 response.body("A.E.F.G", hasItems(expectedValues.get(G).toArray(new String[0])))

期望值返回 g1 和 g2 的列表。

我得到的错误是:

JSON path A.E.F.G doesn't match.
Expected: an array containing ["g1", "g2"]
Actual: [[[g1], [g2], []]]

我怎样才能做到这一点?

共有1个答案

相高谊
2023-03-14

这解决了这个问题:

response.body("A.E.F.G.flatten()", hasItems(expectedValues.get(G).toArray(new String[0])))
 类似资料:
  • 我有一个与 Rest Assured 中的响应正文验证相关的问题。让我们假设,我有一个像json这样的响应体。 我需要检查: 如果图书部分包含儿童类型 如果一本儿童类书籍的自动名称为Eric 第一个断言可以是这样的: 但是我需要检查它的作者的名字是否是威廉。有没有办法使用jsonPath检查它? 我假设,我可以做反序列化(例如,x. List

  • 在使用空手道框架进行API测试时,我在验证嵌套JSON响应时遇到了一些问题。 JSON响应: null def feed_cycle={item_type:'#string',title:'#string'} def feed_college_dept_branch={branch:'#string'} def feed_college={item_type:'#string',dept:'[]f

  • 我用Spring Boot Rest实现了控制器: DTO回应道: 未验证响应正文。我已经用< code>@Valid对其进行了注释,但是< code>null值仍然通过。请求验证工作良好。 如何验证响应正文?

  • 我有办法: 此方法返回有关应用程序版本的信息。就像这样: 它是文本,不是xml,不是json,也不是html。 当我尝试使用此方法在REST保证: 我没有收到回复机构: 来自进程的日志: 为什么我没有收到响应体?当我试图在浏览器上转到这个链接时,我收到了一个值。 这是邮递员的一个例子

  • 问题内容: 使用flask式的微框架,我很难构建一个RequestParser可以验证嵌套资源的。假设期望的JSON资源格式为: 中的每个项目都对应一个对象: …然后使用如下形式创建一个: …但是你将如何验证其中MyObject每个字典的嵌套?或者,这是错误的方法吗? 与此对应的API MyObject本质上将每个对象视为对象文字,并且可能有一个或多个传递给服务;因此,在这种情况下,拼合资源格式将

  • 当我请求GET请求时,我得到了JSON响应,但这里我的要求是验证响应体的结构。 例如: 上面的响应有结构,所以我需要验证结构而不是键值对,我如何实现?