Dove convalidare la configurazione di AutoMapper nell'applicazione ASP.Net Core?

Dove convalidare la configurazione di AutoMapper nell'applicazione ASP.Net Core?

Dopo aver scavato nel IMapper interfaccia (e grazie al link alla documentazione fornito da @LucianBargaoanu), ho trovato esattamente quello che mi serviva.

In ConfigureServices() :

        // Adds AutoMapper to DI configuration and automagically scans the 
        // current assembly for any classes that inherit Profile 
        // and registers their configuration in AutoMapper
        services.AddAutoMapper();

La salsa segreta è aggiungere IMapper mapper come parametro per Configure() - l'elenco dei parametri è inserito in dipendenza in modo da poter fare riferimento a qualsiasi servizio registrato in ConfigureServices()

public void Configure(IApplicationBuilder app, ... , IMapper mapper)
{
  ...
        mapper.ConfigurationProvider.AssertConfigurationIsValid();
}

Funziona esattamente come previsto.


L'approccio consigliato (vedi la risposta di JBogard) è spostare questo test in uno unit test:

public class MappingTests
{
    private readonly IMapper _sut;

    public MappingTests() => _sut = new MapperConfiguration(cfg => { cfg.AddProfile<MyAutomapperProfile>(); }).CreateMapper();

    [Fact]
    public void All_mappings_should_be_setup_correctly() => _sut.ConfigurationProvider.AssertConfigurationIsValid();
}

No