unit-testing - 如何测试 Bus.Defer()

标签 unit-testing nservicebus

有人知道如何检查(在单元测试中)是否发生了 Bus.Defer() 吗?看来这还不够:

Test.Saga<TSaga>(mySaga).ExpectSend < MessageThatIsDeferred >()

结果是:

ExpectedSendInvocation< MessageThatIsDeferred > not fulfilled

调用电话:

DeferMessageInvocation< MessageThatIsDeferred,System.DateTime >

最佳答案

您似乎正在使用 Saga,在这种情况下您应该调用 RequestTimeout,请参阅 http://docs.particular.net/nservicebus/sagas-in-nservicebus#timeouts

这里有一个测试传奇超时的示例:

Test.Saga<TimeoutSaga>()
            .ExpectTimeoutToBeSetIn<MyTimeout>()
            .When(saga => saga.Handle(new StartMessage()));

这有意义吗?

关于unit-testing - 如何测试 Bus.Defer(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28815152/

相关文章:

unit-testing - 如何在 groovy SPOCK 框架中测试静态 java 方法?

c# - 配置 NServiceBus 以记录导致消息重试的异常

c# - NServiceBus 命令处理程序中的生产者/消费者

使用领域驱动设计的node.js

android - 如何在 Android 中模拟 Kotlin 的 kotlinx.android.synthetic View

python - 如何为 py.test 中的所有测试跨模块共享变量

nservicebus - 如何阻止 NServiceBus 重试未引发异常的消息?

msmq - NServicebus 在负载平衡环境中向 msmq 集群队列发送消息时失败

asp.net-mvc - 我如何处理抽象出第 3 方依赖项(依赖注入(inject))?

python - pytest 'ImportError: No module named ...' 的路径问题