アノテーションインターフェース WebMvcTest
@TargetSE(TYPESE)
@RetentionSE(RUNTIMESE)
@DocumentedSE
@InheritedSE
@BootstrapWith(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper.class)
@ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class)
@OverrideAutoConfiguration(enabled=false)
@TypeExcludeFilters(WebMvcTypeExcludeFilter.class)
@AutoConfigureCache
@AutoConfigureWebMvc
@AutoConfigureMockMvc
@ImportAutoConfiguration
public @interface WebMvcTest
Spring MVC コンポーネントのみに焦点を当てた Spring MVC テストに使用できるアノテーション。
このアノテーションを使用すると、MVC テストに関連する自動構成のみが有効になります。同様に、コンポーネントスキャンは、次のアノテーションが付けられた Bean に制限されます。
@Controller
@ControllerAdvice
@JsonComponent
また、次のものを実装する Bean もあります。
Converter
DelegatingFilterProxyRegistrationBean
ErrorAttributes
Filter
FilterRegistrationBean
GenericConverter
HandlerInterceptor
HandlerMethodArgumentResolver
HttpMessageConverter
IDialect
(Thymeleaf が利用可能な場合)Module
(Jackson が利用可能な場合)SecurityFilterChain
WebMvcConfigurer
WebMvcRegistrations
WebSecurityConfigurer
デフォルトでは、@WebMvcTest
アノテーションが付けられたテストは、Spring Security および MockMvc
を自動構成します(HtmlUnit WebClient および Selenium WebDriver のサポートを含む)。MockMVC をより細かく制御するには、@AutoConfigureMockMvc
アノテーションを使用できます。
通常、@WebMvcTest
は @MockBean
または @Import
と組み合わせて使用され、@Controller
Bean に必要なコラボレーターを作成します。
完全なアプリケーション構成をロードして MockMVC を使用する場合は、このアノテーションではなく @SpringBootTest
と @AutoConfigureMockMvc
の組み合わせを検討する必要があります。
JUnit 4 を使用する場合、このアノテーションは @RunWith(SpringRunner.class)
と組み合わせて使用する必要があります。
- 導入:
- 1.4.0
- 作成者:
- Phillip Webb, Artsiom Yudovin
- 関連事項:
オプション要素のサマリー
オプション要素修飾子と型オプションの要素説明ClassSE<?>[]
テストするコントローラーを指定します。ClassSE<?>[]
このテストに適用する必要がある自動構成の除外。それ以外の場合はアプリケーションコンテキストに追加される Bean のフィルタリングに使用できる除外フィルターのセット。他の方法でフィルタリングされた Bean をアプリケーションコンテキストに追加するために使用できる一連の組み込みフィルター。StringSE[]
テストの実行前に SpringEnvironment
に追加する必要がある key = value 形式のプロパティ。boolean
@SpringBootApplication
でデフォルトのフィルタリングを使用するかどうかを決定します。ClassSE<?>[]
テストするコントローラーを指定します。
要素の詳細
properties
StringSE[] propertiesテストの実行前に SpringEnvironment
に追加する必要がある key = value 形式のプロパティ。- 戻り値:
- 追加するプロパティ
- 導入:
- 2.1.0
- デフォルト:
- {}
value
テストするコントローラーを指定します。これは、他の属性が定義されていない場合に簡潔にするために使用できるcontrollers()
のエイリアスです。詳細については、controllers()
を参照してください。- 戻り値:
- テストするコントローラー
- 関連事項:
- デフォルト:
- {}
controllers
テストするコントローラーを指定します。すべての@Controller
Bean をアプリケーションコンテキストに追加する必要がある場合は、空白のままにすることができます。- 戻り値:
- テストするコントローラー
- 関連事項:
- デフォルト:
- {}
useDefaultFilters
boolean useDefaultFilters@SpringBootApplication
でデフォルトのフィルタリングを使用するかどうかを決定します。デフォルトでは、@Controller
(明示的なcontrollers
が定義されていない場合)、@ControllerAdvice
およびWebMvcConfigurer
Bean のみが含まれます。- 戻り値:
- デフォルトのフィルターを使用する必要がある場合
- 関連事項:
- デフォルト:
- true
includeFilters
ComponentScan.Filter[] includeFilters他の方法でフィルタリングされた Bean をアプリケーションコンテキストに追加するために使用できる一連の組み込みフィルター。- 戻り値:
- 適用するフィルターを含める
- デフォルト:
- {}
excludeFilters
ComponentScan.Filter[] excludeFiltersそれ以外の場合はアプリケーションコンテキストに追加される Bean のフィルタリングに使用できる除外フィルターのセット。- 戻り値:
- 適用するフィルターを除外する
- デフォルト:
- {}
excludeAutoConfiguration
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") ClassSE<?>[] excludeAutoConfigurationこのテストに適用する必要がある自動構成の除外。- 戻り値:
- 適用する自動構成除外
- デフォルト:
- {}