اختبار Autofac جميع أنواع مسجلة يمكن حلها

StackOverflow https://stackoverflow.com/questions/1203750

  •  05-07-2019
  •  | 
  •  

سؤال

ولدي مجموعة من أنواع مسجلة لدى Autofac وبعض من التبعيات في عمق نوعا ما. هل هناك المدمج في طريقة لاختبار أستطيع أن حل جميع أنواع مسجل؟ أريد أن تفشل بسرعة عند بدء تشغيل التطبيق، وليس بعد عدة دقائق طريقة المشاركة فيها.

وهذا هو ما أقوم به حاليا، ويبدو للعمل، ولكن أنا لا أزال أتساءل إذا لم يكن هناك طريقة أفضل.

    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();
        }
    }
هل كانت مفيدة؟

المحلول

وAutofac لا تقدم أي شيء لهذا الغرض - لAutofac يخلق مكونات ردا على ResolveInstance، وكنت على وشك أن تواجه منشئ الآثار الجانبية الخ

واختبار التكامل هو أفضل طريقة لمعالجة هذا الأمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top