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

配置 MockMvc

可以通过以下两种方式之一设置 MockMvc。一种是直接指向 想要测试和以编程方式配置 Spring MVC 基础设施。第二个是 指向其中包含 Spring MVC 和控制器基础结构的 Spring 配置。spring-doc.cadn.net.cn

有关这两种模式的比较,请检查 Setup Options

要设置 MockMvc 以测试特定控制器,请使用以下内容:spring-doc.cadn.net.cn

class MyWebTests {

	MockMvc mockMvc;

	@BeforeEach
	void setup() {
		this.mockMvc = MockMvcBuilders.standaloneSetup(new AccountController()).build();
	}

	// ...

}
class MyWebTests {

	lateinit var mockMvc : MockMvc

	@BeforeEach
	fun setup() {
		mockMvc = MockMvcBuilders.standaloneSetup(AccountController()).build()
	}

	// ...

}

或者,您也可以在通过 WebTestClient 进行测试时使用此设置,该客户端委托给同一个构建器 如上所示。spring-doc.cadn.net.cn

要通过 Spring 配置设置 MockMvc,请使用以下内容:spring-doc.cadn.net.cn

@SpringJUnitWebConfig(locations = "my-servlet-context.xml")
class MyWebTests {

	MockMvc mockMvc;

	@BeforeEach
	void setup(WebApplicationContext wac) {
		this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
	}

	// ...

}
@SpringJUnitWebConfig(locations = ["my-servlet-context.xml"])
class MyWebTests {

	lateinit var mockMvc: MockMvc

	@BeforeEach
	fun setup(wac: WebApplicationContext) {
		mockMvc = MockMvcBuilders.webAppContextSetup(wac).build()
	}

	// ...

}

或者,您也可以在通过 WebTestClient 进行测试时使用此设置,该客户端委托给同一个构建器 如上所示。spring-doc.cadn.net.cn