Учитывая класс с зависимостью:
class SomeService : ISomeService { ctor(ISomeDependency someDependency ... }
Используя Moq, я могу смоделировать зависимость следующим образом:
var services = new ServiceCollection()
.AddTransient(_ => Mock.Of<ISomeDependency>())
.AddTransient<ISomeService,SomeService>()
.BuildServiceProvider();
services.GetRequiredService<ISomeService>();
Могу ли я в любом случае зарегистрировать "провайдера", который ServiceProvider будет использовать, если реализация не зарегистрирована? Я бы хотел, чтобы ServiceProvider возвращал Mock.Of<T>
, если зависимость T
не была зарегистрирована.
Я хочу сделать это, потому что у меня есть классы с множеством зависимостей и я хочу избежать набора.