このセクションでは、SOAtest を使用して JMS システムを通過するトランザクションをモニターし、モニターされたメッセージを検証する機能テスト ケースを生成する方法を説明します。
このセクションの内容:
テストを作成するその他の方法
テストを作成するその他の方法として、SOAtest のプロキシのトラフィック記録機能で 1 つまたはそれ以上の JMS、HTTP、MQ エンドポイントのトラフィックをモニターしながらアプリケーションを実行する方法があります。SOAtest はトラフィック リクエストおよびレスポンスをモニターし、適切なリクエスト/レスポンスのペアを記録したトラフィック ファイルを作成します。このトラフィックを使用して、SOAP Client または Message Client を構成し、キャプチャされた振る舞いを表現するテスト スイートを生成できます。詳細については、「記録した HTTP、JMS、MQ Traffic からのテスト作成」 を参照してください。
概要
SOAtest は JMS システムを通過するトランザクションをモニターし、モニターされたメッセージを検証する機能テスト ケースを生成できます。この機能によって、システム メッセージを可視化できるだけでなく、SOAtest から直接的にトランザクションを再現し、モニター対象の機能が期待どおり動作し続けていることを検証できます
これを実現するには、JMS への接続方法およびモニター対象の接続先 (トピックまたはキュー) メッセージを指定し、モニターを開始するよう SOAtest を設定します。 SOAtest は、指定の接続先でキャプチャされた JMS メッセージまたはプロセス フロー内のすべてのメッセージ (プロセス トラッキング トピックが使用された場合) をテストする Messaging Client テストから成るテスト スイートを生成します。これらのテストには、接続パラメーター、リクエスト、および接続先情報が構成されているため、SOAtest は同じメッセージを再現できます。
以下の型の JMS メッセージに対してテスト クライアントを生成できます。
- javax.jms.TextMessage
- javax.jms.MapMessage
- javax.jms.ObjectMessage
- javax.jms.BytesMessage
- javax.jms.StreamMessage
前提条件
「JMS の前提条件」を参照してください。
JMS トランザクションからのテスト生成
テストを生成するには、次の操作を行います。
- テスト作成ウィザードで [Other] > [Java Message Service (JMS)] オプションを選択します。テスト作成ウィザードにアクセスする方法については、以下を参照してください。
- JMS ウィザード ページで次の操作を行います。
- [接続] エリアで JMS 接続設定を指定します。
- [初期コンテキスト] フィールドで、JNDI javax.naming.InitialContext コンストラクターに javax.naming.Context.INITIAL_CONTEXT_FACTORY プロパティの文字列値として渡される完全修飾クラス名を指定します。
- [接続ファクトリ] フィールドで、ファクトリの JNDI 名を指定します。この名前が javax.naming.InitialContext の lookup() メソッドに渡され、javax.jms.QueueConnectionFactory または javax.jms.TopicConnectionFactory のインスタンスが作成されます。
- [接続先の名前] フィールドで、モニター対象のトピックまたはキューを指定します。
- 通常のトピックまたはキュー (ワークフロー プロセスの入口または出口)、または特別なプロセス トラッキング トピックを指定できます。
- [接続先のタイプ] フィールドで、トラッキングする接続先がトピックかキューかを指定します。
- (任意) [メッセージ セレクター] フィールドに、メッセージ フィルターとして働く値を入力します。使い方のヒントについては「メッセージ セレクター フィルターの使用」を参照してください。
JMS QueueBrowser API を使用して、(メッセージをキューから削除せずに) JMS キューにポストされたメッセージを追跡する場合、[キューにメッセージを残す] オプションをオンにします。このように設定すると、SOAtest はトランザクションに影響を与えることなくメッセージをモニターできます。
注意: [キューにメッセージを残す] オプション
このオプションに伴って発生する可能性がある副作用 (およびその回避方法) については、「JMS キューのオプション」を参照してください。
- JNDI プロパティ テーブルに、このデプロイメントに適用するその他の JNDI プロパティを指定します。
- [次へ] をクリックします。SOAtest は、それまでのウィザード ページで指定された設定に一致するメッセージのモニターを開始します。バスにメッセージを送信する別のアプリケーションが実行されている場合、それらのメッセージがこのパネルに表示されます。
- モニターを停止してもよい状態になったら、[終了] をクリックします。SOAtest は検証されたメッセージに基づいてテスト ケースを作成します。
間接的なメッセージのモニター
ESB またはミドルウェア システムの JMS エンドポイントを通過するトランザクション メッセージをモニターして機能テストを生成するだけでなく、テストによってトリガーされたトランザクションの一部として送受信されるプロセス内部の JMS メッセージをトレースし、検証のために切り出すことができます。
これを行う方法については、「ESB、データベース、その他システムのイベント モニタリング」を参照してください。