2011-01-03 7 views
1

私はJavaの専門家ではありませんが、今は仕事をするために必要なコードを継承しています。私の目標は、ソーステストスイートを実行することです。テストに必要なBeanの作成には、いくつかの環境設定が必要です。これらの設定は、tomcat-root-dir/conf/context.xmlにあります。これらの環境設定は、TomcatによってWebアプリケーションをデプロイするために使用されます。Junitを再利用するTomcat context.xml

私はtomcat-root-dir/conf/context.xmlをjunitと再利用したい、そうでなければtestsuiteを動作させたいです。 junitのcontext.xmlを解析する標準的な方法はありますか?あなたが私にこれを手伝っていただければ幸いです。

+0

あなたはそこからTomcatと仕事を持っている場所を指定するローカルビルド/システム固有の変数を作ることができます。 – IAdapter

答えて

1

XMLを解析する標準的な方法がありますので、任意のファイルを自由に読み込み、XMLを解析できます。

データソースなどのJNDIルックアップが必要であると仮定しています。問題は、もちろん、あなたがこの行に沿って持続するならば、Tomcatに結合されていることでしょう。

+0

ご意見ありがとうございます。はい、JNDIルックアップについてのあなたの前提は正しいです。 –

1

JUnit4が提供するルールExternalResourceは、リソースを処理します。ExternalResource Core Ruleを参照してください。

0

埋め込みGlassfishサーバーを使用するアプローチを採用しました。これはtomcat context.xmlを再利用しませんが、外部リソースにアクセスできるようになります。

0

TomcatJNDIはこの問題を解決します。 Tomcatの設定ファイルを処理し、Tomcatと同じJNDI環境を作成できますが、サーバを起動することはありません。したがって、eでTomcatのJNDI環境に依存するクラスを実行できます。 g。 JUnitテスト。

TomcatJNDI tomcatJNDI = new TomcatJNDI(); 
tomcatJNDI.processContextXml(new File("tomcat-root-dir/conf/context.xml"); 
tomcatJNDI.start(); 

次に、クラスはTomcatで実行されるときのようにDataSourceをルックアップできます。

More about TomcatJNDI can be found here.

関連する問題