設定功能
無論您使用哪個 MockMvc 建構器,所有 MockMvcBuilder
實作都提供一些常見且非常有用的功能。例如,您可以為所有請求宣告 Accept
標頭,並期望所有回應的狀態為 200 以及 Content-Type
標頭,如下所示
-
Java
-
Kotlin
// static import of MockMvcBuilders.standaloneSetup
MockMvc mockMvc = standaloneSetup(new MusicController())
.defaultRequest(get("/").accept(MediaType.APPLICATION_JSON))
.alwaysExpect(status().isOk())
.alwaysExpect(content().contentType("application/json;charset=UTF-8"))
.build();
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
此外,第三方框架(和應用程式)可以預先封裝設定指示,例如 MockMvcConfigurer
中的指示。 Spring Framework 有一個這樣的內建實作,有助於跨請求儲存和重複使用 HTTP session。您可以如下使用它
-
Java
-
Kotlin
// static import of SharedHttpSessionConfigurer.sharedHttpSession
MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new TestController())
.apply(sharedHttpSession())
.build();
// Use mockMvc to perform requests...
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
請參閱 ConfigurableMockMvcBuilder
的 javadoc 以取得所有 MockMvc 建構器功能的列表,或使用 IDE 探索可用的選項。