読者です 読者をやめる 読者になる 読者になる

DBUnitSeamTestでEntityManagerを直接使う

DBUnitSeamTestでDBを操作した結果を確認する場合、テスト対象アプリケーション以外を使ってDBにアクセスする必要があると思います。

getInitialContext()というメソッドがあるので、これを使ってJNDIルックアップを実行できます。これでデータソースを取得してJDBC経由で確認という手もあります。

EntityManagerを使いたい場合、以下のように取得します。

InitialContext ic = getInitialContext();
EntityManagerFactory emf = (EntityManagerFactory)ic.lookup(EntityManagerFac
tory名);
EntityManager em = emf.createEntityManager();

EntityManagerFactory名はresources/persistence-test.xmlに記述があります。