Annotation 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.
SQL queries are logged by default by setting the spring.jpa.show-sql property
to true. This can be disabled using the showSql
attribute.
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).
- Since:
- 1.4.0
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionorg.springframework.data.repository.config.BootstrapModeTheBootstrapModefor the test repository support.Class<?>[]Auto-configuration exclusions that should be applied for this test.org.springframework.context.annotation.ComponentScan.Filter[]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[]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 SpringEnvironmentbefore the test runs.booleanIf SQL output should be logged.booleanDetermines if default filtering should be used with@SpringBootApplication.
-
Element Details
-
properties
String[] propertiesProperties in form key=value that should be added to the SpringEnvironmentbefore the test runs.- Returns:
- the properties to add
- Since:
- 2.1.0
- Default:
- {}
-
showSql
If SQL output should be logged.- Returns:
- if SQL is logged
- Default:
- true
-
bootstrapMode
@PropertyMapping("spring.data.jpa.repositories.bootstrap-mode") org.springframework.data.repository.config.BootstrapMode bootstrapModeTheBootstrapModefor the test repository support. Defaults toBootstrapMode.DEFAULT.- Returns:
- the
BootstrapModeto use for testing the repository
- Default:
- DEFAULT
-
useDefaultFilters
boolean useDefaultFiltersDetermines if default filtering should be used with@SpringBootApplication. By default no beans are included.- Returns:
- if default filters should be used
- See Also:
- Default:
- true
-
includeFilters
org.springframework.context.annotation.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
org.springframework.context.annotation.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=org.springframework.boot.autoconfigure.ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfigurationAuto-configuration exclusions that should be applied for this test.- Returns:
- auto-configuration exclusions to apply
- Default:
- {}
-