使用 REST-assured 验证响应 header 中的整数值

Verify integer value in response header using REST-assured

可能是由于我对 rest-assured 和 hamcrest 匹配器缺乏经验,我还没有设法弄清楚如何正确地执行此断言

  when().
      get(url).
  then().
      header("my-header", lessThanOrEqualTo("60")); // should compare Integers not Strings

一个明显的解决方案是从 header 中提取值,将其转换为整数,然后手动执行断言。然而,这会有点破坏使用 rest-assured 的美妙之处。有没有办法在不使测试膨胀的情况下进行正确的比较?

从 REST Assured 2.6.0 开始,您可以提供映射函数作为 header 方法的第二个参数。例如,您可以像这样使用 Java 8 个方法引用:

when().
      get(url).
then().
      header("my-header", Integer::parseInt, lessThanOrEqualTo(60));