注释类型 WebMvcTest


  • @Target(TYPE)
    @Retention(RUNTIME)
    @Documented
    @Inherited
    @BootstrapWith(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper.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, @JsonComponentFilter, 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.
      booleansecure
      If Spring Security's MockMvc support should be auto-configured when it is on the classpath.
      booleanuseDefaultFilters
      Determines if default filtering should be used with @SpringBootApplication.
      Class<?>[]value
      Specifies the controllers to test.
    • 元素详细资料

      • 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

        @AliasFor(annotation=AutoConfigureMockMvc.class,
                  attribute="secure")
        boolean secure
        If Spring Security's MockMvc support should be auto-configured when it is on the classpath. 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
        默认值:
        {}