2009-07-30 18 views
15

Ho un sacco di tipi registrati con Autofac e alcune delle dipendenze sono piuttosto profonde. C'è un modo integrato per testare che posso risolvere tutti i tipi registrati? Voglio fallire velocemente all'avvio dell'applicazione, e non molti minuti dopo, in parte.Test Autofac tutti i tipi registrati possono essere risolti

Questo è quello che sto facendo attualmente, e sembra funzionare, ma mi chiedo ancora se non c'è un modo migliore.

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

risposta

5

Autofac non offre nulla in tal senso - perché Autofac crea componenti in risposta alle ResolveInstance, si sta andando ad essere affrontato con il costruttore effetti collaterali ecc

test di integrazione è il modo migliore per affrontare questo.

+0

Puoi provare https://github.com/TestStack/TestStack.ConventionTests/releases/tag/2.1.0 –

Problemi correlati