You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rest Assured接口测试如何校验appStatus为两个指定值时用例通过

解决方案

你使用的是Rest Assured测试框架,其断言能力依赖Hamcrest匹配器,只需要将单值匹配的equalTo替换为多值任选匹配的匹配器即可,共有两种常用实现方案:

方案1:通用兼容版(适配所有Hamcrest版本)

使用anyOf匹配器包裹两个等值匹配规则,只要满足其中一个就判定断言通过:

  1. 首先导入所需的静态方法:
import static org.hamcrest.CoreMatchers.anyOf;
import static org.hamcrest.CoreMatchers.equalTo;
  1. 修改断言行代码即可,修改后的完整代码如下:
given()
    .header(headers)
    .body(json)
.when()
    .post(url)
.then()
    .contentType(ContentType.JSON)
    .extract().response()
.then().assertThat()
    .statusCode(200)
.and()
    .assertThat().body("appStatus", anyOf(equalTo("APPROVE"), equalTo("COMPLETE")))
    .log().all();

方案2:简洁版(适配Hamcrest 2.x及以上版本)

可以直接使用更简化的isOneOf匹配器,不需要重复写equalTo:

  1. 导入静态方法:
import static org.hamcrest.Matchers.isOneOf;
  1. 断言行修改为:
.assertThat().body("appStatus", isOneOf("APPROVE", "COMPLETE"))

两种方案效果完全一致,可根据你项目依赖的Hamcrest版本灵活选择。

内容的提问来源于stack exchange,提问作者CatAndPlantGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:39:00