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

转换Quarkus测试的响应主体

高宸
2023-03-14

我正在尝试测试我的Quarkus应用程序。我想检查响应是否大于 0,问题是我调用的终结点返回的是 String 而不是数字。如何将响应转换为数字并检查它是否大于 0?

   @Test
   void getAdminListSize() {
       given()
               .when()
               .header("Authorization", token_admin)
               .get(PATH + "/get?listSize=true")
               .then()
               .statusCode(200)
               .body(greaterThan(0))
       ;
   }

这是我收到的回复:“28357”。这是我得到的错误:

java.lang.AssertionError: 1 expectation failed.
Response body doesn't match expectation.
Expected: a value greater than <0>
Actual: 28357

共有1个答案

訾雅畅
2023-03-14

只需将主体提取到一个变量中,并对其进行处理

@Test
   void getAdminListSize() {
       String s = given()
               .when()
               .header("Authorization", token_admin)
               .get(PATH + "/get?listSize=true")
               .then()
               .assertThat()
               .statusCode(200)
               .extract()
               .body()
               .asString();

       
              convert s into a integer and do the assert
   }

其他选项是使用<代码>。as(Clazz.class)并使用您的dto(如果有dto的话)

 类似资料:
  • 问题内容: 标题应该很漂亮。 出于调试目的,我想表达为每个服务请求打印响应代码和正文。打印响应代码很容易,但是打印响应主体比较棘手,因为似乎响应主体不容易用作属性。 以下内容不起作用: 当然,我可以轻松地在发出请求的客户端上打印响应,但是我也希望在服务器端进行打印。 PS:如果有帮助,我的所有回复都是json,但希望有一个可以与一般回复配合使用的解决方案。 问题答案: 不确定这是否是最简单的解决方

  • 我们最近决定使用Quarkus创建我们的新项目。现在,我们正在努力决定要使用哪些测试库: Quarkus实现(例如、) 标准测试库: 我们已经熟悉 非夸库的实现,因此,如果我们决定继续使用这些库,我们不需要学习任何新知识。 使用Quarkus库,我们有了一些新的可用特性,如< code>@InjectMock或< code>@QuarkusTest,这似乎使测试类更加整洁。 我正在寻找的是找出使用

  • 我可以使用toEntity()方法返回ResponseEntity,如下所示: 但是我想在返回之前处理响应头。上面的代码将WebClient响应转换为响应实体并立即返回,但我想将其存储在响应实体变量中,处理它,然后返回响应实体。 我提到了这个- 当我试图将其存储在varibale中时,我遇到了这个错误-

  • 本文向大家介绍AngularJS转换响应内容,包括了AngularJS转换响应内容的使用技巧和注意事项,需要的朋友参考一下 从远程API获取到的响应内容,通常是json格式的,有时候需要对获取到的内容进行转换,比如去除某些不需要的字段,给字段取别名,等等。 本篇就来体验在AngualrJS中如何实现。 在主页面,还是从controller中拿数据。 以上,userName, url字段是从源数据中

  • 我在使用WireMock时遇到了一个问题,我已经扩展了< code>ResponseTransformer并实现了所有需要的方法,如下所示: 现在我想将这个特定的变压器应用于我写的存根之一,存根如下所示: 当我启动服务并执行后调用时,我确实看到应用了转换器,但响应实际上并没有被转换。在启动服务时,我也尝试在config部分应用transformer,但这无济于事。 因此,我的问题是,我应该如何正确

  • 我使用了来自org的openapi生成器maven插件。在我的Spring Boot项目中启用了被动配置的openapitools。我的一个endpoint返回一个列表体响应,该响应自动生成为Mono 如何使用WebTestClient在联调中测试endpoint控制器的主体? 如果我尝试这样做,它不会起作用,因为我接收到的是通量,而不是预期的dto对象。