Мне трудно понять, как утверждать с помощью jsonPath в ответе документа JSON в spring mvc. Возможно, есть лучший способ сделать это, чем использовать jsonPath для этого конкретного сценария. Я хотел бы проверить, что массив ссылок имеет элемент rel "self" и что атрибут "href" объекта "self" также имеет атрибут "href", который равен "/". Ответ JSON выглядит так:
{
"links":[
{
"rel":[
"self"
],
"href":"/"
},
{
"rel":[
"next"
],
"href":"/1"
}
]
}
Я попробовал это, где я вижу, что у него есть rel [0], есть self, но я бы предпочел не полагаться на то, где в массиве ссылок и массиве rel находится self, и на самом деле проверить, что это за href в links[rel][self] является "/". Любые идеи?
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(welcomeController).build();
}
@Test
public void givenRootUrl_thenReturnLinkToSelf() throws Exception {
mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk())
.andExpect(jsonPath("$.links[0].rel[0].", is("self")));
}