如何使用Rest Assured验证返回的状态码是否为成功,即任何2xx HTTP状态码?

5
我想确认返回的状态码是否为2xx系列,即200或201或204。我不想使用老式的方法,例如:
if(response.statusCode() == 200 || response.statusCode() == 201 || 
   response.statusCode() == 204) {
     
     \\...
  }

有更好的方法吗?


那么如何测试一个数字是否至少为200但不超过299呢? - jonrsharpe
@jonrsharpe:是的,从200到299。或者有时在4xx系列中。 - dipindashoff
那只是一个提示 - 你如何检查一个数字是否在 x 和 y 之间,而不必穷尽地检查它是否等于 x、x+1、...、y-1、y? - jonrsharpe
2个回答

2

0
你可以使用一个CustomTypeSafeMatcher。
 given()
.
.
.
.statusCode(new CustomTypeSafeMatcher<>("2xx StatusCode") {
   @Override
   protected boolean matchesSafely(Integer item) {
         return Status.SUCCESS.matches(item);
   }
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接