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

放心 - 如何使用 POJO 验证响应正文

公良俊楚
2023-03-14

我是大一新生,请放心。我有一个获取响应体的简单测试,我想验证响应体是否与我的POJO类匹配。

这是我的测试:

  @Test
  public void getMySmartPlansList() {
    MySPList mysp = new MySPList();

      given().log().all().spec(getReqSpec())
      .get(Endpoints.getMY_SP())
      .then().assertThat().statusCode(200).body("first_page_url", equalTo(mysp.getFirst_page_url()));
    System.out.println("SUCCESS");
  }

这是我的POJO类:

package com.payloads;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import java.util.List;

@Getter
public class MySPList {
  private int current_page;
  private List<MySPObject> data;
  private String first_page_url = "/?page=1";
  private int from;
  private int last_page;
  private String last_page_url;
  @JsonIgnore private String next_page_url; ////
  private String path;
  private int per_page;
  @JsonIgnore private String prev_page_url; ////
  private int to;
  private int total;
}

那么如何验证响应体结构等于我的POJO类呢?

提前感谢

共有1个答案

冀嘉木
2023-03-14

尝试这样的方法:

MyPOJO myPojo = RestAssured.given()
                .get(new URL("https://YOU_URL"))
                .getBody()
                .as(MyPOJO.class);

然后像往常一样将这个物体与你的金色物体进行比较。

 类似资料:
  • 放心,当我们这样做时 抛出的错误总是连续的,也就是说,如果状态代码失败,它不会检查contentType是否是JSON。 此外,抛出的错误始终是,断言错误(预期:200,实际:404)。无法从中了解实际响应是什么,如果启用日志记录,它将打印在标准输出上,但其他任何方式都不可用。 是否有任何方法来构建或设置类似于我们如何实现<code>过滤器 我有一个 rest api 框架,其中大多数验证都是使用

  • 我有一个示例JSON响应 如何验证何时然后当然后 尝试过类似的东西,但它不起作用。 我错过了什么还是做错了什么?

  • 我正在使用验证json模式。如果响应主体具有文件 如果响应正文有未在json模式中定义的EXTRA变量/值,则不会失败。如何使这个测试用例失败? 例如: 下面是具有预定义 JSON 架构的响应正文。 如果响应正文给出了额外的值,例如电子邮件/电话,那么它仍然在传递。我需要让它失败。这是我的测试用例,如果响应正文返回额外值,则失败。如何验证此测试用例?

  • 我想解析我的JSON响应来验证我获得的响应。 现在,我正在为此使用Rest-放心java API,我通过了关于工具QA和他们正在使用的教程 对于Json:- 现在这个响应是一个JSON对象。但我的嵌套在JSON数组中。 如何解析这些嵌套的Json对象和数组?因为Json响应可以出现在数组和对象的所有组合中。 它们是提供与键相对应的值的可靠方法吗?例:“key”:“value”我去找key,通过那个

  • 在我的测试中,a有这样的回答: 其中和是键-值对。 关于和key-value对也是如此。 响应可以包括许多键-值对。 我需要能够验证是否在响应中提供了一些键和值。 我使用,所以我知道我可以使用这样的路径来获取键和使用我编写的这些方法来获取值: 其中传递的< code>param是响应中的参数路径,如< code>commands.value.path。< br >但是我认为这将为我带来响应正文中匹

  • 我正在使用testng进行一个测试url重定向的放心测试。我想匹配头位置响应以匹配正则表达式。 我试图创建以下方法,但我没有找到任何使用Hamcrest匹配器的正则表达式匹配器。我想使用一些方法,如匹配(或任何其他选项)中使用的方法。