如何验证返回的状态代码是否成功,即使用放心的任何 2xx HTTP 状态代码?

问题描述 投票:0回答:2

我想断言返回的状态代码是否是 2xx 系列中的任何一个,即 200 或 201 或 204。我不想用老式的方式来做 例如

if(response.statusCode() == 200 || response.statusCode() == 201 || 
   response.statusCode() == 204) {
     
     \\...
  }

还有什么更好的办法吗?

java api testing rest-assured
2个回答
2
投票

导入 io.restassured.internal.http.Status;

Assert.assertTrue(Status.SUCCESS.matches(response.statusCode())); // true for family of 
2xx eg 200 or 201

参考:HTTP 响应代码到常量“成功”或“失败”值的映射。


0
投票

您可以使用 CustomTypeSafeMatcher

 given()
.
.
.
.statusCode(new CustomTypeSafeMatcher<>("2xx StatusCode") {
   @Override
   protected boolean matchesSafely(Integer item) {
         return Status.SUCCESS.matches(item);
   }
})
© www.soinside.com 2019 - 2024. All rights reserved.