設定 MockMvc

設定 MockMvc 有兩種方式。一種是直接指向您要測試的控制器,並以程式設計方式組態 Spring MVC 基礎架構。第二種是指向包含 Spring MVC 和控制器基礎架構的 Spring 組態。

如需這兩種模式的比較,請查看設定選項

若要設定 MockMvc 以測試特定控制器,請使用以下方式

  • Java

  • Kotlin

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 組態設定 MockMvc,請使用以下方式

  • Java

  • Kotlin

@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 進行測試時,您也可以使用此設定,它會委派給上面顯示的相同建構器。