イベントを処理するときにリクエストを送信し、応答に応じてアラートを発行するハンドラーがあります。NServiceBus テスト フレームワークを使用してこれをテストしようとしていますが、バスが応答しているふりをする方法がよくわかりません。送信をテストする方法 (Test.Handler(...).ExpectSend... を使用) と、応答を行っている他のハンドラーで応答をテストする方法 (Test.Handler ( ...) を使用) の例を見てきました。 .ExpectReply)、ただし、応答の処理をテストするために応答をスタブ化することについては何もありません。
ハンドラーの Handle メソッドは次のようになります。
public void Handle(SomeEvent @event)
{
bus.Send<SomeRequest>(request => { request.Stuff = @event.Stuff })
.Register<SomeReply>(reply => { if (reply.OhNo) bus.Publish(new SomeAlert("augh!")); });
}
これまでのテストの様子は次のとおりです。
Test.Handler(bus => new MyHandler(bus, serviceMock.Object)).
ExpectSend(verifyRequest).
// thought maybe something here like .StubReply(someReply) or something?
ExpectPublish(verifyAlert).
OnMessage(@event, "xyz");
アドバイスをありがとう!