Annotation Interface WebFluxTest
Using this annotation only enables auto-configuration that is relevant to WebFlux tests. Similarly, component scanning is limited to beans annotated with:
@Controller
@ControllerAdvice
@JsonComponent
as well as beans that implement:
Converter
GenericConverter
IDialect
, if Thymeleaf is availableModule
, if Jackson is availableWebExceptionHandler
WebFluxConfigurer
WebFilter
By default, tests annotated with @WebFluxTest
will also auto-configure a
WebTestClient
. For more fine-grained control of WebTestClient the
@AutoConfigureWebTestClient
annotation can be used.
Typically @WebFluxTest
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 WebTestClient,
you should consider @SpringBootTest
combined with
@AutoConfigureWebTestClient
rather than this
annotation.
When using JUnit 4, this annotation should be used in combination with
@RunWith(SpringRunner.class)
.
- Since:
- 2.0.0
- Author:
- Stephane Nicoll, Artsiom Yudovin
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionClass<?>[]
Specifies the controllers to test.Class<?>[]
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.String[]
Properties in form key=value that should be added to the SpringEnvironment
before the test runs.boolean
Determines if default filtering should be used with@SpringBootApplication
.Class<?>[]
Specifies the controllers to test.
-
Element Details
-
properties
String[] propertiesProperties in form key=value that should be added to the SpringEnvironment
before the test runs.- Returns:
- the properties to add
- Since:
- 2.1.0
- Default:
- {}
-
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.- Returns:
- the controllers to test
- See Also:
- Default:
- {}
-
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:
- Default:
- {}
-
useDefaultFilters
boolean useDefaultFiltersDetermines if default filtering should be used with@SpringBootApplication
. By default only@Controller
(when no explicitcontrollers
are defined),@ControllerAdvice
andWebFluxConfigurer
beans are included.- Returns:
- if default filters should be used
- See Also:
- Default:
- true
-
includeFilters
ComponentScan.Filter[] includeFiltersA set of include filters which can be used to add otherwise filtered beans to the application context.- Returns:
- include filters to apply
- Default:
- {}
-
excludeFilters
ComponentScan.Filter[] excludeFiltersA 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
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfigurationAuto-configuration exclusions that should be applied for this test.- Returns:
- auto-configuration exclusions to apply
- Default:
- {}
-