1

我有这个方法:

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.

当我查看队列时,我看到已经添加了一个。

现在我的问题是如何通过测试检查它是否已正确发送。我可能忘了在配置中做些什么?

感谢您的时间。

4

0 回答 0