测试Bus.Send()

时间:2014-01-07 14:09:52

标签: testing nservicebus send bus saga

我有这个方法:

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.

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

现在我的问题是如何检查测试是否已发送正确。我忘记在配置中做某事了吗?

感谢您的时间。

0 个答案:

没有答案