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