【问题标题】:WebTestClient check jsonPath against another jsonPathWebTestClient 对照另一个 jsonPath 检查 jsonPath
【发布时间】:2019-04-16 07:25:29
【问题描述】:

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

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 断言jsonPath2jsonPath3 的内容?

【问题讨论】:

    标签: java junit spring-webflux


    【解决方案1】:

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

    对于简单的操作:

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

    使用特殊匹配器:

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

    【讨论】:

    • 我需要使用 org.hamcrest.Matchers.greaterThanOrEqualTo 而不是 isEqualTo,你能发布一个使用它的示例吗
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多