@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
(
WebMvcTypeExcludeFilter.class
)
@AutoConfigureCache
@AutoConfigureWebMvc
@AutoConfigureMockMvc
@ImportAutoConfiguration
public @interface
WebMvcTest
Annotation that can be used for a Spring MVC test that 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.
When using JUnit 4, this annotation should be used in combination with
@RunWith(SpringRunner.class)
.
Since:
1.4.0
Author:
Phillip Webb, Artsiom Yudovin
See Also:
AutoConfigureWebMvc
AutoConfigureMockMvc
AutoConfigureCache
Auto-configuration exclusions that should be applied for this test.
A set of exclude filters which can be used to filter beans that would otherwise be
added to the application context.
A set of include filters which can be used to add otherwise filtered beans to the
application context.
Properties in form key=value that should be added to the Spring
Environment
before the test runs.
boolean
Specifies the controllers to test.
properties
Properties in form key=value that should be added to the Spring
Environment
before the test runs.
Returns:
the properties to add
Since:
2.1.0
Default:
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.
Returns:
the controllers to test
See Also:
controllers()
Specifies the controllers to test. May be left blank if all
@Controller
beans should be added to the application context.
Returns:
the controllers to test
See Also:
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.
Returns:
if default filters should be used
See Also:
includeFilters()
excludeFilters()
includeFilters
A set of include filters which can be used to add otherwise filtered beans to the
application context.
Returns:
include filters to apply
Default:
excludeFilters
A set of exclude filters which can be used to filter beans that would otherwise be
added to the application context.
Returns:
exclude filters to apply
Default:
excludeAutoConfiguration
Auto-configuration exclusions that should be applied for this test.
Returns:
auto-configuration exclusions to apply
Default: