我的问题类似于关于 DI for NserviceBus Handler for testing ( Handler ) 的问题。作为一种解决方案,您可以使用以下语法来使用构造函数注入:
Test.Handler<YourMessageHandler>(bus => new YourMessageHandler(dep1, dep2))
我找不到在 Saga 测试中使用相同方法的方法。支持属性注入,看起来像这样:
var saga = Test.Saga<MySaga>()
.WithExternalDependencies(DependenciesSetUp);
private void DependenciesSetUp(MySaga saga)
{
saga.M2IntegrationService = M2IntegrationService.Object;
saga.ProcessLogService = ProcessLogService.Object;
saga.Log = Log.Object;
}
但是,这种方法需要将我的依赖项设为公共属性。我想尽量避免它。
有没有办法使用构造依赖注入进行 Saga 测试?