@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @BootstrapWith(value=SpringBootTestContextBootstrapper.class) @ExtendWith(value=org.springframework.test.context.junit.jupiter.SpringExtension.class) public @interface SpringBootTest
SpringBootContextLoader
as the default ContextLoader
when no
specific @ContextConfiguration(loader=...)
is
defined.@SpringBootConfiguration
when nested
@Configuration
is not used, and no explicit classes
are
specified.Environment
properties to be defined using the
properties attribute
.args
attribute
.webEnvironment
modes,
including the ability to start a fully running web server listening on a
defined
or random
port.Can register the following beans for web tests that are using a fully running web server:
TestRestTemplate
WebTestClient
HttpGraphQlTester
ContextConfiguration
Modifier and Type | Optional Element and Description |
---|---|
String[] |
args
Application arguments that should be passed to the application under test.
|
Class<?>[] |
classes
The component classes to use for loading an
ApplicationContext . |
String[] |
properties
Properties in form key=value that should be added to the Spring
Environment before the test runs. |
String[] |
value
Alias for
properties() . |
SpringBootTest.WebEnvironment |
webEnvironment
The type of web environment to create when applicable.
|
@AliasFor(value="properties") public abstract String[] value
properties()
.@AliasFor(value="value") public abstract String[] properties
Environment
before the test runs.public abstract String[] args
ApplicationArguments
,
SpringApplication.run(String...)
public abstract Class<?>[] classes
ApplicationContext
. Can also
be specified using
@ContextConfiguration(classes=...)
. If no
explicit classes are defined the test will look for nested
@Configuration
classes, before falling back to a
@SpringBootConfiguration
search.ContextConfiguration.classes()
public abstract SpringBootTest.WebEnvironment webEnvironment
SpringBootTest.WebEnvironment.MOCK
.