Frage

Ich habe eine Reihe von Typen mit Autofac registriert und einige der Abhängigkeiten sind eher tief. Ist ein dort so gebaut zu testen, dass ich alle registrierten Typen lösen kann? Ich mag beim Start der Anwendung schnell zum Scheitern verurteilt, und nicht einige Minuten später teilweise in.

Das ist, was ich derzeit tue, und es scheint zu funktionieren, aber ich frage mich immer noch, ob es nicht ein besserer Weg.

    public void VerifyAllRegistrations()
    {
        foreach (IComponentRegistration registration in _container.ComponentRegistrations)
        {
            bool isNewInstance;
            registration.ResolveInstance(_container, new Parameter[0], new Disposer(), out isNewInstance);
        }            
    }

    private class Disposer : IDisposer
    {
        public void Dispose()
        {
            // no-op
        }

        public void AddInstanceForDisposal(IDisposable instance)
        {
            instance.Dispose();
        }
    }
War es hilfreich?

Lösung

Autofac bietet nichts in diesem Sinne -. Weil Autofac Komponenten in Reaktion auf ResolveInstance schafft, Sie gehen mit Konstruktor Nebenwirkungen etc. konfrontiert werden

Integrationstest ist der beste Weg, um diese Adresse.

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