2015-05-26 19 views
8

Jak mogę sprawdzić z zapewnieniem bezpieczeństwa (2.4.0), czy odpowiedź json jest pustą listą?Należy stwierdzić, że treść odpowiedzi jest pustą listą z zapewnioną ochroną

Biorąc pod uwagę odpowiedź [] (z nagłówkiem content-type=application/json) Próbowałem:

.body(Matchers.emptyArray()) // expected: an empty array, actual: [] 
.body("/", Matchers.emptyArray()) // invalid expression/
.body(".", Matchers.emptyArray()) // invalid expression . 
+0

Jeśli to może pomóc, to przechodzi dopasowywania: 'tablicy Object [] = new Object [0]; ' ' new MatcherAssert(). AssertThat (array, Matchers.emptyArray()); ' – romfret

Odpowiedz

12

Problem jest (prawdopodobnie), że pewni, zwraca listę, a nie tablicy (i Hamcrest rozróżnić dwa). Można to zrobić:

.body("", Matchers.hasSize(0)) 

lub

.body("$", Matchers.hasSize(0)) 

lub

.body("isEmpty()", Matchers.is(true)) 
+1

Tak, wydaje się, że to jest problem. 'Matchers.empty()' jest najczystszym sposobem imo. – atamanroman