2009-07-30 10 views
15

मेरे पास ऑटोफैक के साथ पंजीकृत प्रकारों का एक गुच्छा है और कुछ निर्भरताएं गहरे हैं। क्या परीक्षण करने के लिए कोई अंतर्निहित तरीका है कि मैं सभी पंजीकृत प्रकारों को हल कर सकता हूं? मैं एप्लिकेशन स्टार्टअप पर तेज़ी से असफल होना चाहता हूं, और कई मिनट बाद भाग में नहीं।ऑटोफैक परीक्षण सभी पंजीकृत प्रकारों को हल किया जा सकता है

यही वह है जो मैं वर्तमान में कर रहा हूं, और ऐसा लगता है, लेकिन मुझे अभी भी आश्चर्य है कि कोई बेहतर तरीका नहीं है।

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

उत्तर

5

Autofac उस प्रभाव के लिए कुछ भी प्रदान नहीं करता है - क्योंकि Autofac ResolveInstance के जवाब में घटकों बनाता है, आप निर्माता दुष्प्रभाव आदि

समाकलन परीक्षण सबसे अच्छा तरीका है के साथ सामना करने जा रहे हैं इस पर बात करो।

+0

आप https://github.com/TestStack/TestStack.ConventionTests/releases/tag/2.1.0 आज़मा सकते हैं –

संबंधित मुद्दे