我想将IBus
在 NServiceBus 中进行单元测试时使用的那个注入到我正在测试的 sagas 和处理程序中,Test.Bus
但是null
. 我如何访问,IBus
以便我可以注入我的处理程序和 sagas。我真的不喜欢为这类事情拥有公共财产。
问问题
556 次
1 回答
1
我自己回答,因为我自己找到了。问题是我覆盖了IBus
我从Saga<>
. 所以如果你有这样的传奇
public void SomeSaga : Saga<SomeData>
{
private IBus _bus;
public SomeSaga(..., IBus bus)
{
_bus = bus;
}
public void Handle(SomeMessage message)
{
_bus.Publish(something);
}
}
将其更改为:
public void SomeSaga : Saga<SomeData>
{
public SomeSaga(...)
{
}
public void Handle(SomeMessage message)
{
Bus.Publish(something);
}
}
于 2013-09-20T10:26:33.453 回答