@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @BootstrapWith(value=org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTestContextBootstrapper.class) @ExtendWith(value=org.springframework.test.context.junit.jupiter.SpringExtension.class) @OverrideAutoConfiguration(enabled=false) @TypeExcludeFilters(value=org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTypeExcludeFilter.class) @AutoConfigureCache @AutoConfigureJson @AutoConfigureWebFlux @AutoConfigureWebTestClient @ImportAutoConfiguration public @interface WebFluxTest
@RunWith(SpringRunner.class)
for a typical Spring WebFlux test. Can be used when a test focuses
only on Spring WebFlux components.
Using this annotation will disable full auto-configuration and instead apply only
configuration relevant to WebFlux tests (i.e. @Controller
,
@ControllerAdvice
, @JsonComponent
,
Converter
/GenericConverter
, and WebFluxConfigurer
beans but not
@Component
, @Service
or @Repository
beans).
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.
AutoConfigureWebFlux
,
AutoConfigureWebTestClient
Modifier and Type | Optional Element and Description |
---|---|
Class<?>[] |
controllers
Specifies the controllers to test.
|
Class<?>[] |
excludeAutoConfiguration
Auto-configuration exclusions that should be applied for this test.
|
ComponentScan.Filter[] |
excludeFilters
A set of exclude filters which can be used to filter beans that would otherwise be
added to the application context.
|
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. |
boolean |
useDefaultFilters
Determines if default filtering should be used with
@SpringBootApplication . |
Class<?>[] |
value
Specifies the controllers to test.
|
public abstract String[] properties
Environment
before the test runs.@AliasFor(value="controllers") public abstract Class<?>[] value
controllers()
which
can be used for brevity if no other attributes are defined. See
controllers()
for details.controllers()
public abstract boolean useDefaultFilters
@SpringBootApplication
. By default only
@Controller
(when no explicit controllers
are
defined), @ControllerAdvice
and WebFluxConfigurer
beans are
included.includeFilters()
,
excludeFilters()
public abstract ComponentScan.Filter[] includeFilters
public abstract ComponentScan.Filter[] excludeFilters
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") public abstract Class<?>[] excludeAutoConfiguration
Copyright © 2018 Pivotal Software, Inc.. All rights reserved.