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.
Cómo crear una regla NDepend personalizada para verificar los registros DI
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
Solución
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow