2017-03-11 16 views
0

データベースのレコードを追加および変更するいくつかのWebサービスを開発しました。私はMavenを使用しています。 データベースへの接続は、アプリケーションサーバーのデータソースとして定義されています(weblogic)。だから私はpersistence.xmlデータソースへの参照を作成するだけです。テスト/リソースにpersistence.xmlが必要ですか?

ここで、いくつかの統合テストを行いたいと思います。これらの統合テストではデータベースと対話する必要がありますが、これらのテストはコンテナの外部で実行されるため、を取得してデータベースと対話できるように、別のpersistence.xmlをテストリソースパスに定義する必要がありますか?別の方法がありますか?

+0

すべての依存関係を手動で注入することを前提としています。その場合は、いくつかで 'Persistence.createEntityManagerFactory'ポイント。この方法では、永続ユニットの必要なすべてのプロパティをオーバーライドできます。つまり、テスト用に別々の 'persistence.xml'を用意するよりも、これがどのように優れているか分かりません。 2つの 'persistence.xml'ファイルが悪い考えであると思う理由を説明してください。 – crizzis

+0

どのテストフレームワークが使用されていますか? – jklee

+0

@crizzisこれが一般的なアプローチであるかどうかを確認したい。私はそれが悪い考えだとは思わない。回答ありがとうございます。 –

答えて

0

質問は、どのようにデータベーステストのためのブートストラップを行いますか? JUnitだけがかなり精巧です。

私はDeltaSpikes Test-Control Moduleを好む。非常に高速なテストで、アプリケーションサーバーはなく、CDIをコンテナとして使用します。 test persistance.xmlを使わずに実行することもできます。 Example

他の解決策は、arquillianです。完全なアプリケーションサーバーを起動すると、テスト/リソースにpersistance.xmlは必要ありません

関連する問題