使用 spring restdocs 以随机顺序匹配数组中的 json 值

Matching json values in an array using spring restdocs in random order

提问人:Arc-E-Tect 提问时间:11/15/2023 更新时间:11/15/2023 访问量:16

问:

我正在使用 Spring RestDocs 来验证我的 REST API。

一个 API 根据某些输入返回生成值的数组。我想验证响应中生成的值是否正确。

响应可以是:

{ "hybrids": ["horsephant", "pussydog", "tigerbird"]

由于值的顺序不相关,因此对 API 的下一次调用可能会导致:

{ "hybrids": ["pussydog", "horsedonkey", "tigerbird"]

我在 RestDoc 测试中使用以下代码片段:

.jsonPath("$.hybrids[0]").isEqualTo("pussydog")             .jsonPath("$.hybrids[1]").isEqualTo("horsedonkey")              .jsonPath("$.hybrids[2]").isEqualTo("tigerbird");

只有当订单意外出现时,这才会导致通过。如何删除项目的顺序,并让两个响应都通过测试?

谢谢

json rest jsonpath spring-restdocs

评论


答: 暂无答案