在我的
我想在单元测试中验证依赖关系图,以检查是否可以构建所有服务,这样我就可以在单元测试期间修复任何缺失的服务,而不是在运行时崩溃。在之前的项目中,我使用过Simple Injector,它有一个用于容器的
是否有任何内置的(或至少是推荐的)方法来验证整个依赖关系图是否可以构建?
(我能想到的最愚蠢的方法是像这样,但它仍然会因为框架本身注入的开放泛型而失败):
Startup
类中,我使用ConfigureServices(IServiceCollection services)
方法来设置服务容器,使用来自Microsoft.Extensions.DependencyInjection
的内置DI容器。我想在单元测试中验证依赖关系图,以检查是否可以构建所有服务,这样我就可以在单元测试期间修复任何缺失的服务,而不是在运行时崩溃。在之前的项目中,我使用过Simple Injector,它有一个用于容器的
.Verify()
方法。但我没有找到ASP.NET Core中类似的东西。是否有任何内置的(或至少是推荐的)方法来验证整个依赖关系图是否可以构建?
(我能想到的最愚蠢的方法是像这样,但它仍然会因为框架本身注入的开放泛型而失败):
startup.ConfigureServices(serviceCollection);
var provider = serviceCollection.BuildServiceProvider();
foreach (var serviceDescriptor in serviceCollection)
{
provider.GetService(serviceDescriptor.ServiceType);
}
Microsoft.DependencyInjection
。 - NightOwl888