セットアップ機能

使用する MockMvc ビルダーに関係なく、すべての MockMvcBuilder 実装は、いくつかの一般的で非常に便利な機能を提供します。例: 次のように、すべてのリクエストに対して Accept ヘッダーを宣言し、すべてのレスポンスに Content-Type ヘッダーと同様に 200 のステータスを期待できます。

  • 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 セッションを保存および再利用するのに役立つ組み込み実装が 1 つあります。次のように使用できます。

  • 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

すべての MockMvc ビルダー機能のリストについては、ConfigurableMockMvcBuilder (Javadoc) の javadoc を参照するか、IDE を使用して使用可能なオプションを調べましょう。