私は現在、バージョン 3.1 で EJB をテストするというテーマに取り組んでいますが、その経験は少ししかありません。そこで、文献を調べたところ、EJB をテストする 3 つの異なる方法 (バージョン 3.0 以降) が見つかりました。
1) シンプルな POJT (Plain Old Java Tests) の使用
2) 組み込みコンテナの使用
3) アプリケーションサーバーでのアプリケーションのテスト
これらのさまざまな方法を理解した後、自分で調査を開始し、いくつかの可能性を見つけました。
ケース 1) の場合、JUnit や TestNG などのツールはほぼ完璧であり、注釈の問題を解決するためにライブラリ EasyGloss を使用できます。非常に単純な Bean の場合、EasyGloss は必要ありません。「ローカル」テストは、Bean がコンテキスト (例: sessionContext) へのアクセスを必要とし、トランザクションまたはインターセプターを使用するまで正常に機能します。
私は JBoss AS 7.1.1 を使用していますが、私が知る限り、このアプリケーション サーバーは組み込みコンテナを提供していません。そのため、Glassfish (私が好まないもの) に切り替えるか、OpenEJB や Arquillian などの代替手段を使用して、ケース 2 のテストを処理できます)。
皆さんには、Jave EE と EJB のテストに関する経験と知識が豊富にあることを知っています。そこで、あなたの経験を私と共有し、いくつかのヒントやコツ、より多くの考え、ejb の効率的なテストのコード例を教えていただけないでしょうか。
編集: ケース 1) に関する詳細情報を追加しました。