Como validar o contêiner de DI no ASP.NET Core?

No meuStartup classe eu uso oConfigureServices(IServiceCollection services) método para configurar meu contêiner de serviço, usando o contêiner DI incorporado deMicrosoft.Extensions.DependencyInjection.

Desejo validar o gráfico de dependência em um teste de unidade para verificar se todos os serviços podem ser construídos, para que eu possa corrigir quaisquer serviços ausentes durante o teste de unidade, em vez de travar o aplicativo no tempo de execução. Em projetos anteriores, usei o Simple Injector, que possui um.Verify() método para o contêiner. Mas não consegui encontrar nada semelhante para o ASP.NET Core.

Existe alguma maneira interna (ou pelo menos recomendada) de verificar se todo o gráfico de dependência pode ser construído?

(A maneira mais idiota em que consigo pensar é algo assim, mas ainda falhará por causa dos genéricos abertos que são injetados pela própria estrutura):

startup.ConfigureServices(serviceCollection);
var provider = serviceCollection.BuildServiceProvider();
foreach (var serviceDescriptor in serviceCollection)
{
    provider.GetService(serviceDescriptor.ServiceType);
}

questionAnswers(3)

yourAnswerToTheQuestion