2009-07-30 22 views
15

Mam kilka typów zarejestrowanych w Autofac i niektóre zależności są raczej głębokie. Czy jest wbudowany sposób testowania, czy mogę rozwiązać wszystkie zarejestrowane typy? Chcę szybko zawieść przy uruchamianiu aplikacji, a nie kilka minut później w części.Test Autofac wszystkie zarejestrowane typy można rozwiązać

To właśnie robię obecnie i wydaje się, że działa, ale nadal zastanawiam się, czy nie ma lepszej metody.

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

Odpowiedz

5

Autofac nie oferuje nic w tej sprawie - bo Autofac tworzy komponenty w odpowiedzi na ResolveInstance, idziesz do czynienia z konstruktora skutków ubocznych itp

testowanie Integracja jest najlepszym sposobem rozwiązać ten problem.

+0

Możesz wypróbować https://github.com/TestStack/TestStack.ConventionTests/releases/tag/2.0 –

Powiązane problemy