我有这个方法:
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.
当我查看队列时,我看到已经添加了一个。
现在我的问题是如何通过测试检查它是否已正确发送。我可能忘了在配置中做些什么?
感谢您的时间。