Question

J'ai plusieurs types enregistrés avec Autofac et certaines dépendances sont plutôt profondes. Existe-t-il un moyen intégré de tester la résolution de tous les types enregistrés? Je veux échouer rapidement au démarrage de l'application et pas quelques minutes plus tard, en partie.

C’est ce que je suis en train de faire et cela semble fonctionner, mais je me demande toujours s’il n’existe pas de meilleur moyen.

    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();
        }
    }
Était-ce utile?

La solution

Autofac n'offre rien de tel - car AutoFac crée des composants en réponse à ResolveInstance, vous allez donc être confronté aux effets secondaires des constructeurs, etc.

Les tests d'intégration sont le meilleur moyen de résoudre ce problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top