2017-04-14 12 views
0

エンタープライズサービスバス(ESB)の自動テストを書く必要があります。 ESBの実行時には、DB問合せ、SOAPおよびTCPコールなどのさまざまなスケジュールされた操作が実行されます。また、サービスがアクティブであるかどうかが定期的にチェックされ、そうでない場合はフローが停止します。Citrus Frameworkでテストを実行している間、モックを連続して実行しています

だから私の場合にはいくつかの問題があるでしょう:

  • 一部のフローは、サービスが
  • に応答していないため、別のフローが継続的にエラーに

それは生産負scenariuosで実行されます停止しますCitrus Frameworkを使用してテストを実行している間、モックを連続して実行することは可能ですか?

どのように私はこの問題をCitrusで克服できますか?

答えて

1

Citrusのすべてのサーバーコンポーネントは、テストの実行中にのみ動作します。これは、Citrusが自動的にテストスイートの前後でサーバーコンポーネントを起動および停止するためです。 Citrusが非アクティブになると、サーバーコンポーネントが停止します。

これらの制限を打破したい場合は、別のメッセージ転送タイプ用の完全スタンドアロンシミュレータ(まだベータ版ですが)のcitrus-simulatorサイドプロジェクトを見てください。

上記の制限が[OK]の場合は、Citrusプロジェクトのサーバーコンポーネントでエンドポイントアダプターの組み合わせを使用できます。着信ヘルス・チェック要求に対して常に肯定的な応答を送信する静的エンドポイント・アダプターを使用できます。

エンドポイント・アダプター上のドキュメントを参照してください。http://www.citrusframework.org/reference/html/endpoint-adapter.html

+0

は、あなたの答えをありがとう! 「テストスイート」とはどういう意味ですか? たとえば、JUnitでは、テスト実行で指定されたテストメソッド、テストクラスまたはテストクラスのセット? –

+0

また、 'citrus-simulator'の動作を制御するためのAPIがありますか?それは既に実行されていますか? このような機能がないとテストオートメーションに使用する方法がわかりません。 –

+0

私は、テストスイートの実行に組み合わされた一連のテストクラスを指していました。また、シトラスシミュレータは実行時にそのロジックを変更することができません。シミュレータは、着信要求メッセージの内容に基づいて事前定義されたシナリオのセットで定義されます。 –

関連する問題