Domanda

Stiamo usando AutoFac come contenitore per l'iniezione di dipendenza. Vorremmo controllare varie cose usando NDEPER per garantire che il nostro DI sia impostato correttamente e non viene utilizzato in modo improprio (abbiamo una soluzione molto grande).

Nei test unitari, potrei adottare un approccio:

private static IEnumerable<TestCaseData> TestCases
{
    get
    {
        return from registration in Container.Value
            .ComponentRegistry.Registrations
                from service in registration.Services
                where service is TypedService
                orderby service.Description
                select new TestCaseData(registration, service)
                    .SetName(service.Description);
    }
}

Quindi:

[Test]
[TestCaseSource("TestCases")]
public void CanBeResolved(
    IComponentRegistration componentRegistration, 
    TypedService typedService)
{
    using (var scope = Container.Value.BeginLifetimeScope())
        scope.Resolve(typedService.ServiceType);
}

Come posso creare una regola personalizzata all'interno di NDEPER per garantire che tutti i tipi appropriati siano registrati con il contenitore AutoFac?

Grazie, Richard

È stato utile?

Soluzione

Dai commenti, posso vedere che scriverò i miei test di integrazione, ma spero in futuro di averlo supportato in NDEPER.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top