標準アノテーションのサポート

以下のアノテーションは、Spring TestContext フレームワークのすべての構成の標準セマンティクスでサポートされています。これらのアノテーションはテスト固有のものではなく、Spring Framework のどこでも使用できることに注意してください。

  • @Autowired

  • @Qualifier

  • @Value

  • JSR-250 が存在する場合は @Resource (jakarta.annotation)

  • JSR-250 が存在する場合は @ManagedBean (jakarta.annotation)

  • JSR-330 が存在する場合は @Inject (jakarta.inject)

  • JSR-330 が存在する場合は @Named (jakarta.inject)

  • JPA が存在する場合は @PersistenceContext (jakarta.persistence)

  • JPA が存在する場合は @PersistenceUnit (jakarta.persistence)

  • 限定された属性サポートを備えた @Transactional (org.springframework.transaction.annotation)

JSR-250 ライフサイクルアノテーション

Spring TestContext フレームワークでは、@PostConstruct および @PreDestroy を、ApplicationContext で構成されたアプリケーションコンポーネントの標準的なセマンティクスとともに使用できます。ただし、これらのライフサイクルアノテーションは、実際のテストクラス内での使用が制限されています。

テストクラス内のメソッドに @PostConstruct アノテーションが付けられている場合、そのメソッドは基礎となるテストフレームワークの前のメソッド(たとえば、JUnit Jupiter の @BeforeEach アノテーションが付けられたメソッド)の前に実行され、テストクラスのすべてのテストメソッドに適用されます。一方、テストクラス内のメソッドに @PreDestroy アノテーションが付けられている場合、そのメソッドは実行されません。テストクラス内では、@PostConstruct および @PreDestroy の代わりに、基礎となるテストフレームワークからのテストライフサイクルコールバックを使用することをお勧めします。