注释类型 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
,@JsonComponent
Filter
,WebMvcConfigurer
andHandlerMethodArgumentResolver
beans but not@Component
,@Service
or@Repository
beans).By default, tests annotated with
@WebMvcTest
will also auto-configure Spring Security andMockMvc
(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.boolean
secure
If Spring Security'sMockMvc
support should be auto-configured when it is on the classpath.boolean
useDefaultFilters
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 ofcontrollers()
which can be used for brevity if no other attributes are defined. Seecontrollers()
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 explicitcontrollers
are defined),@ControllerAdvice
andWebMvcConfigurer
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'sMockMvc
support should be auto-configured when it is on the classpath. Defaults totrue
.- 返回:
- 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
- 默认值:
- {}