QA が個々の nServiceBus エンドポイントを分離してテストするためのツールを知っているか、適切なソリューションを持っている人はいますか? システムには複数のパブリッシャーとサブスクライバーがあり、それらを個別にテストしたいと考えています。たとえば、パブリッシャーをテストするには、QA がさまざまなパブリッシャーを簡単にサブスクライブ/サブスクライブ解除するために使用できるツールを用意して、メッセージの検証のためにメッセージを「QA キュー」に配信できるようにしたいと考えています。サブスクライバーをテストするには、メッセージをサブスクライバーの入力キューに直接パブリッシュできるようにします。
4 に答える
パブエントリ用にwcfエンドポイントを配線しました。RavenDBにメッセージを保存するqaのサブスクライバーを作成しました。pubに同じタイプの複数のハンドラーがあると機能しないため、wcfエンドポイントメッセージは新しいクラスであり、メインメッセージが基本クラスになります。その後、QAはsoapuiまたは他のテストクライアントを使用できます。
統合テストを宣言的に定義できるBizUnitと呼ばれる統合テストフレームワークがあります。MSMQをエンキュー/リッスンするための事前定義された手順がいくつか付属しています。
NServiceBusにはメッセージヘッダー情報が必要なため、エンキューするための独自のカスタムステップを作成する必要があります。
これはBizTalkテストを対象としていますが、インストールされている、または利用可能なBizTalkにはまったく依存していません。
これが頭に浮かぶ唯一のことです。これは、分散システムをテストするための優れたフレームワークです。
エンドポイント (ForwardReceivedMessagesTo) の監査をオンにし、予想されるメッセージが最終的に監査キューに入ることを確認するコードを記述します。
定義済みのエンドポイント名を持つサブスクライバーとして正しく構成されたアセンブリをまとめることができます。唯一の構成は、構成ファイルを変更するためにエンドポイント (メッセージ マッピング) を渡すことです。これをスクリプトにまとめて、QA にコマンド ライン パラメーターを指定してスクリプトを実行させることができると思います。PowerShell は、XML の操作が非常に簡単であるため、頭に浮かびます。これは、「Subscribe-To-EndPoint Messages.dll endpoint_name」のようになります。