アノテーションインターフェース WebMvcTest


Spring MVC コンポーネントのみに焦点を当てた Spring MVC テストに使用できるアノテーション。

このアノテーションを使用すると、完全な自動構成が無効になり、代わりに MVC テストに関連する構成のみが適用されます(つまり、@Controller@ControllerAdvice@JsonComponentConverter/GenericConverterFilterWebMvcConfigurerHandlerMethodArgumentResolver Bean であり、@Component@Service@Repository Bean は適用されません)。

デフォルトでは、@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 をアプリケーションコンテキストに追加するために使用できる一連の組み込みフィルター。
    テストの実行前に Spring Environment に追加する必要がある key = value 形式のプロパティ。
    boolean
    @SpringBootApplication でデフォルトのフィルタリングを使用するかどうかを決定します。
    ClassSE<?>[]
    テストするコントローラーを指定します。
  • 要素の詳細

    • properties

      StringSE[] properties
      テストの実行前に Spring Environment に追加する必要がある key = value 形式のプロパティ。
      戻り値:
      追加するプロパティ
      導入:
      2.1.0
      デフォルト:
      {}
    • value

      @AliasFor("controllers") ClassSE<?>[] value
      テストするコントローラーを指定します。これは、他の属性が定義されていない場合に簡潔にするために使用できる controllers() のエイリアスです。詳細については、controllers() を参照してください。
      戻り値:
      テストするコントローラー
      関連事項:
      デフォルト:
      {}
    • controllers

      @AliasFor("value") ClassSE<?>[] 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
      このテストに適用する必要がある自動構成の除外。
      戻り値:
      適用する自動構成除外
      デフォルト:
      {}