6

这就是您应该为 NServiceBus 处理程序注入依赖项以对其进行测试的方式:

Test.Handler<YourMessageHandler>()
  .WithExternalDependencies(h => h.Dependency = yourObj)

( http://nservicebus.com/UnitTesting.aspx )

然而,这意味着我的依赖对象引用应该是公开的,我不太喜欢。有什么方法可以让它保持私有只读并在构造函数中分配它,以便实现应该只通过处理程序构造函数传递?

谢谢

4

1 回答 1

5

您可以使用以下语法来使用构造函数注入:

 Test.Handler<YourMessageHandler>(bus => new YourMessageHandler(dep1, dep2))

dep1 和 dep2 很可能只是您的模拟框架为您准备的一些存根或模拟。

-- Udi Dahan 从这里更新:

您可以通过 Test.Bus 访问模拟的总线实例。

于 2012-06-08T21:48:07.250 回答