注释类型 WebMvcTest


  • @Target(TYPE)
    @Retention(RUNTIME)
    @Documented
    @Inherited
    @BootstrapWith(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper.class)
    @ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class)
    @OverrideAutoConfiguration(enabled=false)
    @TypeExcludeFilters(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTypeExcludeFilter.class)
    @AutoConfigureCache
    @AutoConfigureWebMvc
    @AutoConfigureMockMvc
    @ImportAutoConfiguration
    public @interface WebMvcTest
    Annotation that can be used in combination with @RunWith(SpringRunner.class) for a typical Spring MVC test. Can be used when a test focuses only on Spring MVC components.

    Using this annotation will disable full auto-configuration and instead apply only configuration relevant to MVC tests (i.e. @Controller, @ControllerAdvice, @JsonComponent, Converter/GenericConverter, Filter, WebMvcConfigurer and HandlerMethodArgumentResolver beans but not @Component, @Service or @Repository beans).

    By default, tests annotated with @WebMvcTest will also auto-configure Spring Security and MockMvc (include support for HtmlUnit WebClient and Selenium WebDriver). For more fine-grained control of MockMVC the @AutoConfigureMockMvc annotation can be used.

    Typically @WebMvcTest is used in combination with @MockBean or @Import to create any collaborators required by your @Controller beans.

    If you are looking to load your full application configuration and use MockMVC, you should consider @SpringBootTest combined with @AutoConfigureMockMvc rather than this annotation.

    从以下版本开始:
    1.4.0
    另请参阅:
    AutoConfigureWebMvc, AutoConfigureMockMvc, AutoConfigureCache
    • 可选元素概要

      可选元素 
      修饰符和类型可选元素说明
      Class<?>[]controllers
      Specifies the controllers to test.
      Class<?>[]excludeAutoConfiguration
      Auto-configuration exclusions that should be applied for this test.
      org.springframework.context.annotation.ComponentScan.Filter[]excludeFilters
      A set of exclude filters which can be used to filter beans that would otherwise be added to the application context.
      org.springframework.context.annotation.ComponentScan.Filter[]includeFilters
      A set of include filters which can be used to add otherwise filtered beans to the application context.
      String[]properties
      Properties in form key=value that should be added to the Spring Environment before the test runs.
      booleansecure
      已过时。
      since 2.1.0 in favor of Spring Security's testing support
      booleanuseDefaultFilters
      Determines if default filtering should be used with @SpringBootApplication.
      Class<?>[]value
      Specifies the controllers to test.
    • 元素详细资料

      • properties

        String[] properties
        Properties in form key=value that should be added to the Spring Environment before the test runs.
        返回:
        the properties to add
        从以下版本开始:
        2.1.0
        默认值:
        {}
      • value

        @AliasFor("controllers")
        Class<?>[] value
        Specifies the controllers to test. This is an alias of controllers() which can be used for brevity if no other attributes are defined. See controllers() for details.
        返回:
        the controllers to test
        另请参阅:
        controllers()
        默认值:
        {}
      • controllers

        @AliasFor("value")
        Class<?>[] controllers
        Specifies the controllers to test. May be left blank if all @Controller beans should be added to the application context.
        返回:
        the controllers to test
        另请参阅:
        value()
        默认值:
        {}
      • useDefaultFilters

        boolean useDefaultFilters
        Determines if default filtering should be used with @SpringBootApplication. By default only @Controller (when no explicit controllers are defined), @ControllerAdvice and WebMvcConfigurer beans are included.
        返回:
        if default filters should be used
        另请参阅:
        includeFilters(), excludeFilters()
        默认值:
        true
      • includeFilters

        org.springframework.context.annotation.ComponentScan.Filter[] includeFilters
        A set of include filters which can be used to add otherwise filtered beans to the application context.
        返回:
        include filters to apply
        默认值:
        {}
      • excludeFilters

        org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
        A set of exclude filters which can be used to filter beans that would otherwise be added to the application context.
        返回:
        exclude filters to apply
        默认值:
        {}
      • secure

        @Deprecated
        @AliasFor(annotation=AutoConfigureMockMvc.class)
        boolean secure
        已过时。
        since 2.1.0 in favor of Spring Security's testing support
        If Spring Security's MockMvc support should be auto-configured when it is on the classpath. Also determines if WebSecurityConfigurer classes should be included in the application context. Defaults to true.
        返回:
        if Spring Security's MockMvc support is auto-configured
        默认值:
        true
      • excludeAutoConfiguration

        @AliasFor(annotation=org.springframework.boot.autoconfigure.ImportAutoConfiguration.class,
                  attribute="exclude")
        Class<?>[] excludeAutoConfiguration
        Auto-configuration exclusions that should be applied for this test.
        返回:
        auto-configuration exclusions to apply
        默认值:
        {}