java - WebTestClient 根据另一个 jsonPath 检查 jsonPath

标签 java junit spring-webflux

我有这个“内容”响应,我需要从中断言一些值。

WebTestClient.BodyContentSpec content = response.expectStatus().isOk()
                .expectBody()
                .jsonPath("$.path1").isEqualTo(value1);

如果我想断言一些具有预定义值的 JSON 路径,一切都很好。

但是当我想检查一个 JSON 路径是否等于另一个 JSON 路径时,棘手的部分就来了。

JsonPathAssertions jsonPath2 = bodyContentSpec.jsonPath("$.path2");
JsonPathAssertions jsonPath3 = bodyContentSpec.jsonPath("$.path3");

所以我的问题是如何使用 org.hamcrest.Matchers.greaterThanOrEqualTo 断言 jsonPath2 的内容针对 jsonPath3

最佳答案

我想你可以使用 value(Consumer) 方法:

对于简单的操作:

jsonPath2.value(v->jsonPath3.isEqualTo(v));

使用特殊匹配器:

jsonPath2.value(v->jsonPath3.value(Matchers.greaterThanOrEqualTo(v)));

关于java - WebTestClient 根据另一个 jsonPath 检查 jsonPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55702745/

相关文章:

spring-boot - SpringBoot - WebFlux 获取 ClassCastException 的通用函数

spring-webflux - WebFlux 和 null 值

Java 查找错误 : Suspicious comparison of Long references

java - 如何使用 var args 方法在 java 中添加 int 和 int[ ]?

java - 在 Android 中运行单元测试时, Intent 解析为不同的进程

android - 将 Junit4 测试迁移到 androidx : What causes 'delegate runner could not be loaded' ?

java - 我如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

java - 如何在WebClient响应中提取http header ?

java - 具有全屏背景图像的 CoordinatorLayout

java - 是否在方法内部将 boolean 值分配给局部变量?