So erstellen Sie eine benutzerdefinierte Ndepend -Regel, um die DI -Registrierungen zu überprüfen

StackOverflow https://stackoverflow.com/questions/19825832

  •  05-07-2022
  •  | 
  •  

Frage

Wir verwenden AutoFAC als Container für die Abhängigkeitsinjektion. Wir möchten verschiedene Dinge mithilfe von nDepend überprüfen, um sicherzustellen, dass unsere DI ordnungsgemäß eingerichtet ist und nicht missbraucht wird (wir haben eine sehr große Lösung).

Bei Unit -Tests könnte ich einen Ansatz verfolgen:

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

Dann:

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

Wie kann ich eine benutzerdefinierte Regel innerhalb von Ndepend erstellen, um sicherzustellen, dass alle geeigneten Typen beim AutoFAC -Container registriert sind?

Danke, Richard

War es hilfreich?

Lösung

Aus Kommentaren kann ich sehen, dass ich meine eigenen Integrationstests schreiben werde, hoffe aber in Zukunft, dies in Ndepend zu unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top