@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @BootstrapWith(value=org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTestContextBootstrapper.class) @ExtendWith(value=org.springframework.test.context.junit.jupiter.SpringExtension.class) @OverrideAutoConfiguration(enabled=false) @TypeExcludeFilters(value=DataJpaTypeExcludeFilter.class) @Transactional @AutoConfigureCache @AutoConfigureDataJpa @AutoConfigureTestDatabase @AutoConfigureTestEntityManager @ImportAutoConfiguration public @interface DataJpaTest
Using this annotation will disable full auto-configuration and instead apply only configuration relevant to JPA tests.
By default, tests annotated with @DataJpaTest are transactional and roll back
at the end of each test. They also use an embedded in-memory database (replacing any
explicit or usually auto-configured DataSource). The
@AutoConfigureTestDatabase annotation can be used to
override these settings.
If you are looking to load your full application configuration, but use an embedded
database, you should consider @SpringBootTest combined with
@AutoConfigureTestDatabase rather than this
annotation.
When using JUnit 4, this annotation should be used in combination with
@RunWith(SpringRunner.class).
AutoConfigureDataJpa,
AutoConfigureTestDatabase,
AutoConfigureTestEntityManager,
AutoConfigureCache| Modifier and Type | Optional Element and Description |
|---|---|
org.springframework.data.repository.config.BootstrapMode |
bootstrapMode
The
BootstrapMode for the test repository support. |
java.lang.Class<?>[] |
excludeAutoConfiguration
Auto-configuration exclusions that should be applied for this test.
|
org.springframework.context.annotation.ComponentScan.Filter[] |
excludeFilters
A set of exclude filters which can be used to filter beans that would otherwise be
added to the application context.
|
org.springframework.context.annotation.ComponentScan.Filter[] |
includeFilters
A set of include filters which can be used to add otherwise filtered beans to the
application context.
|
java.lang.String[] |
properties
Properties in form key=value that should be added to the Spring
Environment before the test runs. |
boolean |
showSql
If SQL output should be logged.
|
boolean |
useDefaultFilters
Determines if default filtering should be used with
@SpringBootApplication. |
public abstract java.lang.String[] properties
Environment before the test runs.@PropertyMapping(value="spring.jpa.show-sql") public abstract boolean showSql
@PropertyMapping(value="spring.data.jpa.repositories.bootstrap-mode") public abstract org.springframework.data.repository.config.BootstrapMode bootstrapMode
BootstrapMode for the test repository support. Defaults to
BootstrapMode.DEFAULT.BootstrapMode to use for testing the repositorypublic abstract boolean useDefaultFilters
@SpringBootApplication. By default no beans are
included.includeFilters(),
excludeFilters()public abstract org.springframework.context.annotation.ComponentScan.Filter[] includeFilters
public abstract org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
@AliasFor(annotation=org.springframework.boot.autoconfigure.ImportAutoConfiguration.class,
attribute="exclude")
public abstract java.lang.Class<?>[] excludeAutoConfiguration