MockMvc 整合
如果您想使用 AssertJ 支援,但已投入使用原生的 MockMvc
API,MockMvcTester
提供了幾種與之整合的方式。
如果您有自己的 RequestBuilder
實現,可以使用 perform
觸發請求處理。下面的示例展示瞭如何使用原始 API 構建查詢。
// Static import on MockMvcRequestBuilders.get
assertThat(mockMvc.perform(get("/hotels/{id}", 42)))
.hasStatusOk();
類似地,如果您編寫了與 MockMvc
的 .andExpect
功能一起使用的自定義 matcher,可以透過 .matches
使用它們。在下面的示例中,我們重寫了前面的示例,使用 MockMvc
提供的 ResultMatcher
實現來斷言狀態。
// Static import on MockMvcResultMatchers.status
assertThat(mockMvc.get().uri("/hotels/{id}", 42))
.matches(status().isOk());
MockMvc
還定義了一個 ResultHandler
契約,允許您對 MvcResult
執行任意操作。如果您實現了這個契約,可以使用 .apply
來呼叫它。