http://mockrunner.sourceforge.net/の mockrunner パッケージを使用して、次のように動作する XML フィルターをテストする JUnit 用のモック キューを設定しています。
- ftp サーバーが xml 入力を送受信するための認識可能なプロパティと、ジョブを追跡する jms キュー サーバーを設定します。キュー メッセージが受信されると、実際に xml を解析するサーバーがリモートで待機します。
- ftp を使用してリモート ディレクトリを作成し、mqconnectionfactory を使用してキュー サーバーの指定されたアドレスへのキュー接続を開始します。
- 2) で新しいキュー エントリが作成されると、フィルタは、ジョブがリモート サーバーによって完了したことを示す新しいキュー メッセージが表示されるのを待ちます。次に、フィルターは変更された xml ファイルを ftp から取得し、それを次のフィルターに渡します。
私が取り組んでいる JUnit テストでは、フィルターが接続するローカル ftp およびモック キュー サーバーを起動し、フィルターがキューに接続して新しい xml 入力ファイルをローカル ディレクトリに配置するのを待つことによって、この環境をエミュレートする必要があります。ローカル ftp サーバー経由で、キュー メッセージを待ってから、xml 入力をわずかに変更し、変更した xml を新しいディレクトリに置き、ジョブが完了したことを示す別のメッセージをキューに投稿します。
私がネットで見つけたすべてのチュートリアルでは、EJB と JNDI を使用して、作成されたキュー サーバーをルックアップしていました。可能であれば、EJB や JNDI を使用せずに、ローカル マシンにモック キューを作成し、できるだけ簡単な方法で接続することで、そのルートを回避したいと考えています。
前もって感謝します!