Reputation: 11818
How can I check with rest-assured (2.4.0) if the response json is an empty list?
Given the response []
(with header content-type=application/json
) I tried:
.body(Matchers.emptyArray()) // expected: an empty array, actual: []
.body("/", Matchers.emptyArray()) // invalid expression /
.body(".", Matchers.emptyArray()) // invalid expression .
Upvotes: 26
Views: 42882
Reputation: 31
Inspired by what @Johan said I tried this and I think it tells more to reader than other suggestions.
.body("", equalTo(Collections.emptyList()))
Upvotes: 3
Reputation: 40628
The problem is (probably) that REST Assured returns a List and not an array (and Hamcrest differentiate between the two). You can do:
.body("", Matchers.hasSize(0))
or
.body("$", Matchers.hasSize(0))
or
.body("isEmpty()", Matchers.is(true))
Upvotes: 49