OpenJPA 2.0.0、Jersey 1.3、およびJUnit4.8.1を使用してアプリケーションを構築しています。
「default」と「unittest」という2つの異なる永続性ユニットがpersistence.xmlで定義されるように設定しました。デフォルトはOracleインスタンスに接続するように設定されていますが、unittestはローカルのH2DB組み込みデータベースファイルに接続するように設定されています。これを行うのは、ユニットテストを実行するたびに上書きできる特定の既知のデータを含むクリーンなデータベースで常に単体テストを開始するためです。
問題は、プログラムの下位層だけでなく、JerseyTestingFrameworkを使用して実際のWebサービスをテストしたいということです。私のルートリソースクラスは、unittest永続性ユニットをロードしません。常にデフォルトをロードします。
したがって、おそらく私がする必要があるのは、EntityManagerをインスタンス化するために永続ユニットを使用する必要があるルートリソースクラスに注入し、テストの実行時にユニットテストを注入する方法がありますが、それ以外の場合はデフォルトを注入します。しかし、私はそれを行うための良い方法を考えることができません。
私はJavaEE開発にまったく慣れていませんが、それは明らかかもしれません。
何か助けはありますか?