MockMvc 整合
如果您想要使用 AssertJ 支援,但已投資於原始的 MockMvc
API,MockMvcTester
提供了幾種與其整合的方式。
如果您有自己的 RequestBuilder
實作,您可以使用 perform
觸發請求的處理。下面的範例展示了如何使用原始 API 製作查詢
// Static import on MockMvcRequestBuilders.get
assertThat(mockMvc.perform(get("/hotels/{id}", 42)))
.hasStatusOk();
同樣地,如果您已經製作了自訂匹配器,並將其與 MockMvc
的 .andExpect
功能一起使用,則可以透過 .matches
使用它們。在下面的範例中,我們重寫了前面的範例,以使用 MockMvc
提供的 ResultMatcher
實作來斷言狀態
// Static import on MockMvcResultMatchers.status
assertThat(mockMvc.get().uri("/hotels/{id}", 42))
.matches(status().isOk());
MockMvc
也定義了 ResultHandler
契約,讓您可以在 MvcResult
上執行任意動作。如果您已經實作了此契約,則可以使用 .apply
來調用它。