Из комментариев я вижу, что напишу свои собственные интеграционные тесты, но в будущем надеюсь, что это поддерживает это в NdePend.
Как создать пользовательское правило NdePend для проверки регистраций DI
Вопрос
Мы используем Autofac в качестве нашего контейнера для впрыскивания зависимостей. Мы хотели бы проверить различные вещи, используя NDEPEND, чтобы убедиться, что наш DI настроен должным образом и не используется неправильно (у нас очень большое решение).
В единичных испытаниях я мог бы использовать:
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);
}
}
Затем:
[Test]
[TestCaseSource("TestCases")]
public void CanBeResolved(
IComponentRegistration componentRegistration,
TypedService typedService)
{
using (var scope = Container.Value.BeginLifetimeScope())
scope.Resolve(typedService.ServiceType);
}
Как я могу создать пользовательское правило в рамках NdePend, чтобы гарантировать, что все соответствующие типы зарегистрированы в контейнере AutoFac?
Спасибо, Ричард
Решение
Не связан с StackOverflow