Pregunta

Estamos utilizando AutoFAC como nuestro contenedor para la inyección de dependencia. Nos gustaría verificar varias cosas usando NDepender para garantizar que nuestra DI esté configurada correctamente y no ser mal utilizada (tenemos una solución muy grande).

En las pruebas unitarias, podría adoptar un enfoque:

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);
    }
}

Después:

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

¿Cómo puedo crear una regla personalizada dentro de NDepender para garantizar que todos los tipos apropiados estén registrados en el contenedor AutoFAC?

Gracias Richard

¿Fue útil?

Solución

A partir de los comentarios, puedo ver que escribiré mis propias pruebas de integración, pero espero en el futuro tener esto compatible en NDepend.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top