私はこの方法を持っています:
public void Timeout(PaymentResponseTimeout state)
{
if (Data.PaymentResponseProcessAt > DateTime.UtcNow) return;
Bus.Send(Settings.Default.BookingAutomationQueue, new QueuePnrCmd(Data.SessionData, Data.QueueingInformation));
CloseWorkflow();
}
そして、メッセージが正しく送信されたかどうかをテストしたいのですが、次のテストでこれを行っています:
Test.Initialize();
Test.Saga<GdsFlowService>()
.WithExternalDependencies(s => s.Data.SessionData = TestData.GetSessionDataGds())
.ExpectSend< QueuePnrCmd >()
.When(s => s.Timeout(new PaymentResponseTimeout()))
.AssertSagaCompletionIs(true);
しかし、これを行うと、次の例外が発生します。
System.Exception : ExpectedSendInvocation<Gateway.Bus.FlowCoordinator.Contracts.Command.QueuePnrCmd> not fulfilled.
キューを見ると、キューが追加されていることがわかります。
ここで私の質問は、正しく送信されたことをテストで確認するにはどうすればよいかということです。多分設定で何かをするのを忘れていますか?
お時間をいただきありがとうございます。