كيف أفعل حقن التبعية في اختبار المشروع (TFS 2008) باستخدام القلعة

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

سؤال

أنا باستخدام قلعة وندسور لحقن التبعية في اختبار المشروع.أحاول إنشاء مثيل واحد من بلدي 'مخزن' الطبقات."انه يعمل بشكل جيد على الجهاز الخاص بي" ، ولكن عند تشغيل ليلا بناء في TFS, بلدي التجارب ليست قادرة على الحمل قال الطبقات.

private static readonly WindsorContainer _container = new WindsorContainer(new XmlInterpreter());


    public void MyTestInitialize()
    {
        var testRepository = (IBogusRepository)_container[typeof(IBogusRepository)];

    }

تكوين xml:

<castle>
    <components>
      <component id="primaryBogusRepository" type="Example2008.Repository.LALALALALA, Example2008.Repository" service="Example2008.Domain.Repository.IBogusRepository, Example2008.Domain" />
      <component id="primaryProductRepository" type="Example2008.Repository.ProductRepository, Example2008.Repository" service="Example2008.Domain.Repository.IProductRepository, Example2008.Domain" />
    </components>
  </castle>

عندما طابور بناء جديدة وتنتج الرسالة التالية:

غير قادر على إنشاء مثيل فئة Example2008.الاختبار.ActiveProductRepositoryTest.خطأ:النظام.التكوين.ConfigurationException:اسم النوع Example2008.مستودع.LALALALALA, Example2008.مستودع لا يمكن يقع.

قلعة.وندسور.المثبت.DefaultComponentInstaller.ObtainType(سلسلة typeName) قلعة.وندسور.المثبت.DefaultComponentInstaller.SetUpComponents(IConfiguration[] تكوينات IWindsorContainer حاوية) قلعة.وندسور.المثبت.DefaultComponentInstaller.الإعداد(IWindsorContainer حاوية ، IConfigurationStore مخزن) قلعة.وندسور.WindsorContainer.RunInstaller() قلعة.وندسور.WindsorContainer..المنشئ(IConfigurationInterpreter مترجم) Example2008.الاختبار.ActiveProductRepositoryTest..cctor() في d:\Code_Temp\Example المشروع ليلا\Sources\Example2008.اختبار\ProductRepositoryTest.cs:سطر 19

من هذه الرسالة ، يبدو أن التكوين هو الصحيح (يمكن أن نرى أن كنت ترغب في إنشاء مثيل فئة محددة 'LALALALALA' ، وبالتالي فإن تكوين xml الواضح الأحمر بشكل صحيح)

أعتقد أن لدي تبعيات إعداد بشكل صحيح وكذلك (لأنه يعمل محليا ، حتى لو نظيفة الحل وإعادة بناء).

أي أفكار ؟

(باستخدام VS2008, TFS 2008.Net 3.5, قلعة 1.03 بالمناسبة)

هل كانت مفيدة؟

المحلول

التي هي مثيرة للاهتمام.وجدت هذا بلوق وظيفة التي قد تساعد المشكلة. يبدو MSTest هو استخدام ذلك دليل العمل ، وهو أمر مزعج على أقل تقدير.بلوق وظيفة يوضح كيفية تغيير الدليل ، بحيث يمكنك الحصول على نتائج متسقة.أود أيضا أن تفعل بعض غوغلينغ لمعرفة ما إذا كان حل أكثر أناقة موجود.

نصائح أخرى

يبدو الجمعية التي تحمل مستودع تطبيقات مفقود من بن دليل (أو أي مكان تنفيذ الدليل هو بناء).

أود في البداية أن تحقق لمعرفة ما إذا كان التجمع موجود في بناء الخادم تنفيذ الدليل.

لو كان موجود ثم أود أن تحقق للتأكد من إصدار الجمعية هو حق واحد ، أيوقد مستودع التنفيذ عليه في نفس مساحة الاسم.... الخ

قد يكون هذا البناء الخاص بك الملقم تنفيذ/بناء الأجسام في مكان آخر من حيث هو مقابل تنفيذ/بناء.

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