atamanroman
atamanroman

Reputation: 11818

Assert that response body is empty list with rest-assured

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

Answers (2)

kazimierz
kazimierz

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

Johan
Johan

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

Related Questions