如何验证“多头”?

时间:2013-05-17 16:33:29

标签: rest-assured

我有一个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")))

然后第二行确认失败,因为上面的第一个Link标题行不包含'current'

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

1 个答案:

答案 0 :(得分:2)

我不认为你可以以这种方式做到这一点(因为REST Assured只返回第一个标题值)。解决方法是:

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

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