Spring MockMvcResultMatchers jsonPath ниже / больше чем
Я использую MockMvcResultMatchers для тестирования моих классов контроллера.
Вот пример кода
RequestBuilder request = get("/employee/")
.contentType(MediaType.APPLICATION_JSON)
.accept(APPLICATION_JSON_UTF8);
mockMvc
.perform(request)
.andExpect(status().isOk())
.andExpect(jsonPath("$.total").exists());
Но как я могу сравнить значение $.total с числом?
Я имею в виду, есть ли способ узнать, что $.total > 0?
1 ответ
Решение
JSON Path value
метод может занять org.hamcrest.Matcher
в качестве параметра. Так что вы можете использовать GreaterThan
учебный класс:
jsonPath("['key']").value(new GreaterThan(1))
Этот класс из org.mockito.internal.matchers
пакет.
Вы можете использовать метод betterThan() с hasSize().
В качестве примера вы должны сделать следующее:
.andExpect(jsonPath("$.result", hasSize(greaterThan(0))))
Вы можете проверить это другими способами
org.hamcrest.Matchers
класс отсюда.