问题标签 [spring-webtestclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1248 浏览

spring - 如何从 Spring WebTestClient JSON 响应中提取值以供后续请求使用?

在 Spring Boot 2.4.2WebTestClient中,我在集成测试中使用调用请求。

这是获取消息列表的第一个请求:

现在我想调用一个后续请求来下载特定消息。为此,我需要id已经用jsonPath("$[0].id").

如何将其提取id到局部变量中,以便它可用于第二个请求?

0 投票
1 回答
222 浏览

spring-boot - Spring boot - WebFlux - WebTestClient - 将响应转换为 responseEntity

我有一个反应式控制器,它返回:

我正在使用WebTestClient测试此端点,但我想提取黄瓜的响应实体以进一步验证。

我试过这个:

但我收到一个错误。我可以通过以下方式获取 JSON:

但我正在尝试查看是否可以获取整体ResponseEntity,以便我可以验证标头、缓存标头和正文。

0 投票
0 回答
35 浏览

microservices - WebTestClient Junit 测试用例抛出 415 UNSUPPORTED_MEDIA_TYPE

如何使用 WebTestClient 为没有 RequestBody 的控制器的 Post Request 方法编写 Junit 测试用例? 我在 Restcontroller 中有一个 Post 方法,如下所示 -

截至目前,我正在尝试如下,但它给出:java.lang.AssertionError: Status expected:<200 OK> but was:<415 UNSUPPORTED_MEDIA_TYPE>

0 投票
1 回答
63 浏览

kotlin - Spring webtestclient 将日期序列化为时间戳而不是日期

我正在尝试检查从 webtestclient 返回的数据是否与我的预期相同。但是,当我将 Jackson 应用于 webtestclient 编解码器时,来自 User 数据类的 ZonedDateTime 不仅显示为日期,还显示为时间戳。示例:2021-12-09T16:39:43.225207700+01:00转换为1639064383.225207700while I expect nothing to change。有人可以解释我做错了什么。(在测试之外调用此端点时使用此杰克逊配置会给出日期不是时间戳)

WebTestClientUtil:

测试用例:

杰克逊配置:

编辑:还发现了这个问题,这让我认为它可能与bindToRouterFunction.

0 投票
0 回答
10 浏览

jenkins - 使用 WebTestClient 进行 E2E 测试得到 502 Bad gateway

我在 Jenkins 中有一个阶段来运行 e2e 测试我的测试如下所示:

控制器类如下所示:

詹金斯输出