Annotation Type SpringBootTest
@Target(TYPE) @Retention(RUNTIME) @Documented @Inherited @BootstrapWith(SpringBootTestContextBootstrapper.class) @ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class) public @interface SpringBootTest
Annotation that can be specified on a test class that runs Spring Boot based tests. Provides the following features over and above the regular Spring TestContext Framework:- Uses
SpringBootContextLoader
as the defaultContextLoader
when no specific@ContextConfiguration(loader=...)
is defined. - Automatically searches for a
@SpringBootConfiguration
when nested@Configuration
is not used, and no explicitclasses
are specified. - Allows custom
Environment
properties to be defined using theproperties attribute
. - Provides support for different
webEnvironment
modes, including the ability to start a fully running web server listening on adefined
orrandom
port. - Registers a
TestRestTemplate
and/orWebTestClient
bean for use in web tests that are using a fully running web server.
- Since:
- 1.4.0
- See Also:
ContextConfiguration
- Uses
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description Class<?>[]
classes
The annotated classes to use for loading anApplicationContext
.String[]
properties
Properties in form key=value that should be added to the SpringEnvironment
before the test runs.String[]
value
Alias forproperties()
.SpringBootTest.WebEnvironment
webEnvironment
The type of web environment to create when applicable.
Element Detail
value
@AliasFor("properties") String[] value
Alias forproperties()
.- Returns:
- the properties to apply
- Default:
- {}
properties
@AliasFor("value") String[] properties
Properties in form key=value that should be added to the SpringEnvironment
before the test runs.- Returns:
- the properties to add
- Default:
- {}
classes
Class<?>[] classes
The annotated classes to use for loading anApplicationContext
. 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 aSpringBootConfiguration
search.- Returns:
- the annotated classes used to load the application context
- See Also:
ContextConfiguration.classes()
- Default:
- {}
webEnvironment
SpringBootTest.WebEnvironment webEnvironment
The type of web environment to create when applicable. Defaults toSpringBootTest.WebEnvironment.MOCK
.- Returns:
- the type of web environment
- Default:
- org.springframework.boot.test.context.SpringBootTest.WebEnvironment.MOCK