Annotation Interface DataJpaTest
Using this annotation only enables auto-configuration that is relevant to Data JPA
tests. Similarly, component scanning is limited to JPA repositories and entities
(@Entity
).
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
- Author:
- Phillip Webb, Artsiom Yudovin, Scott Frederick
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionorg.springframework.data.repository.config.BootstrapMode
TheBootstrapMode
for the test repository support.Class<?>[]
Auto-configuration exclusions that should be applied for this test.A set of exclude filters which can be used to filter beans that would otherwise be added to the application context.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 SpringEnvironment
before the test runs.boolean
If SQL output should be logged.boolean
Determines if default filtering should be used with@SpringBootApplication
.
-
Element Details
-
properties
String[] propertiesProperties in form key=value that should be added to the SpringEnvironment
before 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 bootstrapModeTheBootstrapMode
for the test repository support. Defaults toBootstrapMode.DEFAULT
.- Returns:
- the
BootstrapMode
to 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
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
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=ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfigurationAuto-configuration exclusions that should be applied for this test.- Returns:
- auto-configuration exclusions to apply
- Default:
- {}
-