私の質問は、テスト用の NserviceBus Handler の DI ( 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 テストに構築依存性注入を使用する方法はありますか?