0

我有一个返回多个“链接”标头的 JAX-RS 服务:

Expires=Thu, 01 Jan 1970 01:00:00 CET
Link=http://localhost:7080/rest/resource?ps=2&category=service&page=2; rel='next'
Link=http://localhost:7080/rest/resource?page=1&ps=2&category=service; rel='current'
Content-Encoding=gzip

现在我想验证是否有一个带有 rel=next 的链接和另一个带有 rel=current 的链接,但没有一个带有 rel=prev 的链接

当我写

expect()
.header("Link", containsString("page=2"))
.header("Link", containsString("current"))
.header("Link", not(containsString("prev")))

然后第二行放心失败,因为上面的第一个链接标题行不包含“当前”

运行这些检查的正确方法是什么?

4

1 回答 1

2

不幸的是,我认为您不能这样做(因为 REST Assured 仅返回第一个标头值)。一种解决方法是:

List<Header> listHeaders = get("/your_resource").headers().getList("Link");

现在您可以使用普通的 JUnit 断言(或类似的东西)断言每个标头值。

于 2014-01-22T10:25:25.393 回答