对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
设置功能
无论您使用哪个 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 会话。您可以按如下方式使用它:
-
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
请参阅 javadocConfigurableMockMvcBuilder
获取所有 MockMvc 构建器功能的列表,或使用 IDE 探索可用选项。