MockMvc の構成

MockMvc は 2 つの方法のいずれかでセットアップできます。1 つは、テストするコントローラーを直接指定し、プログラムで Spring MVC インフラストラクチャを構成する方法です。2 つ目は、Spring MVC とコントローラーインフラストラクチャを含む Spring 構成を指すことです。

これら 2 つのモードの比較については、セットアップオプションを参照してください。

特定のコントローラーをテストするために 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 を介してテストするときに、このセットアップを使用することもできます。