此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cadn.net.cn

设置功能

无论您使用哪个 MockMvc 构建器,所有MockMvcBuilderimplementations 提供 一些常见且非常有用的功能。例如,您可以声明Accept标头 all 请求,并期望状态为 200 以及Content-Type标头 响应,如下所示:spring-doc.cadn.net.cn

// 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 会话。 您可以按如下方式使用它:spring-doc.cadn.net.cn

// 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

请参阅 javadoc 以获取ConfigurableMockMvcBuilder以获取所有 MockMvc 构建器功能的列表,或使用 IDE 浏览可用选项。spring-doc.cadn.net.cn