形式と内容が確実にわかっているメッセージ (テキスト) があります。
現時点では、このメッセージを解析してファイルから読み取る Java クラスが実装されています。
現実世界では、このメッセージはメッセージ キューから送信されます。
今のところ、テスト目的でローカル PC 上でメッセージ キューをシミュレート、モック、または生成する必要があります。
Java仕様(ジャバJMS):
JMS provider: A messaging system that implements the JMS specification.
JMS clients: Java applications that send and receive messages.
Messages: Objects that are used to communicate information between JMS clients.
この仕様に関しては、JMSプロバイダー。
JMSクライアント-メッセージを読むのは私のクラスです。
メッセージそれ自体は私が知っています。
問題は、メッセージ キュー
をどのように開始するかということです。Java コードからプログラム的にシミュレートするにはどうすればよいでしょうか。何らかの方法でモックすることはできますか。
ありがとう。
ベストアンサー1
実際の運用 JMS プロバイダーが利用できない場合にアプリケーションを分離してテストするには、次のいずれかを使用できます。
JMS モック:
アプリケーションをテストする際に、存在しない依存関係をシミュレートするには、テストダブル実際の JMS プロバイダーの動作をシミュレートする JMS モックを使用できます。APIシミュレーションツールJMSモックを作成できます(JMSをサポートするツールを選択するだけです、例えば交通オウム)。JMS モックを使用すると、テスト中に高い柔軟性が得られます。モックを設定してほぼすべての種類のメッセージを返すことで、典型的な本番環境のようなテストシナリオだけでなく、仮想的な状況もテストできます。また、実際の JMS プロバイダーでは難しいことが多いさまざまな種類のエラーをシミュレートすることもできます。ActiveMqのJMSサービス仮想化の紹介ビデオ(サービス仮想化はモックの別名です)またはこれはIBM MQ用ですこれらのビデオは Traffic Parrot のものですが、そこで説明されている原則はどのツールを選択しても適用されます。JMS プロバイダー テスト インスタンス:
ラップトップまたはテスト環境の1つでJMSプロバイダーを実行し、本番プロバイダーの代わりにアプリケーションを接続できます。ActiveMQやRabbitMQなどのオープンソースプロバイダーを本番環境で使用する場合、軽量で無料であるため、ラップトップでも簡単に実行できます。IBM Websphere MQの場合は、無料の開発者向け IBM MQ。JMS クラス モック:
使用できますモッキートユニットテストでJMSクラスとのやり取りを模擬します。このソリューションにはユニットテストのトレードオフがすべて伴います。詳細については、テストピラミッド。
アプリケーションをブラックボックス テストしたい場合は、上で説明したソリューションのいずれかを使用してください。