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 呼叫它。

© . This site is unofficial and not affiliated with VMware.