@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @InheritedSE @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
このアノテーションを使用すると、完全な自動構成が無効になり、代わりに JPA テストに関連する構成のみが適用されます。
デフォルトでは、@DataJpaTest
アノテーションが付けられたテストはトランザクションであり、各テストの終わりにロールバックします。また、組み込みのインメモリデータベースを使用します(明示的または通常自動構成された DataSource を置き換えます)。@AutoConfigureTestDatabase
アノテーションを使用して、これらの設定をオーバーライドできます。
SQL クエリは、spring.jpa.show-sql
プロパティを true
に設定することにより、デフォルトでログに記録されます。これは、showSql
属性を使用して無効にできます。
完全なアプリケーション構成をロードしたいが、埋め込みデータベースを使用する場合は、このアノテーションではなく、@SpringBootTest
と @AutoConfigureTestDatabase
の組み合わせを検討する必要があります。
JUnit 4 を使用する場合、このアノテーションは @RunWith(SpringRunner.class)
と組み合わせて使用する必要があります。
AutoConfigureDataJpa
, AutoConfigureTestDatabase
, AutoConfigureTestEntityManager
, AutoConfigureCache
修飾子と型 | オプションの要素と説明 |
---|---|
org.springframework.data.repository.config.BootstrapMode | bootstrapMode テストリポジトリサポート用の BootstrapMode 。 |
ClassSE<?>[] | excludeAutoConfiguration このテストに適用する必要がある自動構成の除外。 |
ComponentScan.Filter[] | excludeFilters それ以外の場合はアプリケーションコンテキストに追加される Bean のフィルタリングに使用できる除外フィルターのセット。 |
ComponentScan.Filter[] | includeFilters 他の方法でフィルタリングされた Bean をアプリケーションコンテキストに追加するために使用できる一連の組み込みフィルター。 |
StringSE[] | properties テストの実行前に Spring Environment に追加する必要がある key = value 形式のプロパティ。 |
boolean | showSql SQL 出力をログに記録する必要がある場合。 |
boolean | useDefaultFilters @SpringBootApplication でデフォルトのフィルタリングを使用するかどうかを決定します。 |
public abstract StringSE[] properties
Environment
に追加する必要がある key = value 形式のプロパティ。@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
。デフォルトは BootstrapMode.DEFAULT
です。BootstrapMode
public abstract boolean useDefaultFilters
@SpringBootApplication
でデフォルトのフィルタリングを使用するかどうかを決定します。デフォルトでは、Bean は含まれません。includeFilters()
, excludeFilters()
public abstract ComponentScan.Filter[] includeFilters
public abstract ComponentScan.Filter[] excludeFilters
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") public abstract ClassSE<?>[] excludeAutoConfiguration