spring mvc の JSON ドキュメント応答で jsonPath を使用してアサートする方法がわかりません。おそらく、この特定のシナリオで jsonPath を使用するよりも、これを達成するためのより良い方法があります。リンク配列に「self」の rel 項目があり、「self」のオブジェクトの「href」属性にも「/」に等しい「href」属性があることを検証したいと思います。JSON 応答は次のようになります。
{
"links":[
{
"rel":[
"self"
],
"href":"/"
},
{
"rel":[
"next"
],
"href":"/1"
}
]
}
rel [0]にselfがあることがわかる場所でこれを試しましたが、links配列と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")));
}