JPAでEJB3を使用するJEE5アプリがあります。たとえば、私はいくつかの豆を持っています
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
これらのサービスのテストを書きたいと思います。OpenEJB のような組み込み可能なコンテナーを使用できることはわかっていますが、JPA は Java SE で使用できるため、テストで使用できるのだろうか? 確かに私はすべてを持っていません
@PersistenceContext, @PersistenceUnit, @TransactionAttribute
利用可能な機能。だから私の質問は、これが試してみる価値があるかどうかです (手作りのトランザクション管理など)? または、埋め込みコンテナーを使用する必要がありますか? 私は統合テスト(実際のインメモリデータベースを使用)について話しているのであって、すべてのものをモックすることについてではありません。
編集:
埋め込みコンテナーでのテストは初めてなので、もう 1 つ。たとえば、Mockito のモックを @EJB 依存関係としてテスト対象の Bean に注入することは可能ですか? それとも、この設定では意味がありませんか?