سؤال

لماذا، عندما أذهب من خلال اختبارات وحدتي في VS2008 - إما استخدام التشغيل أو التصحيح - هل أصر مقابل إعادة بناء جميع تبعيات مشروع الاختبار، أي المشاريع التي أقوم باختبارها في اختبارات الوحدة؟

في بعض الأحيان لم يتغيروا - لقد عدت للتو بعض اختبارات الوحدة. أو ربما قمت بتعديل إحدى التجمعات - ومع ذلك يصر على إعادة بناء كل منهم.

لدي مراجع مشروع طبيعي في مشروع اختبار الوحدة لمشاريعي الأخرى.

أي اقتراحات استقبلت بامتنان لأن هذا يتباطأ قدرتنا على القيام TDD بفعالية كما يمكن أن نكون.

شكرا!

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

المحلول

حسنا، لقد وجدت على الأقل سبب المشكلة وبداية غير مرضية إلى حد ما!

بدأت بإضافة مشروع اختبار وحدة جديد وإضافة إليه مراجع مشروع واحد إليه من حلالي الرئيسية. لقد اكتشفت أن مشروع بياناتي (كيانات الأعمال) يعاني من المشكلة التي أصف بها، ولأن كل مجالاتي الأخرى تعتمد بطريقة ما على مشروع البيانات الخاص بي، فإن حقيقة أن إعادة التعويضات التي يسببها جميعها الأخرى ل.

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

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

القيام بذلك لقد قطعت وقت الإنشاء فقط لتشغيل اختبار وحدة واحدة من حوالي ~ 20 ثانية إلى ~ 7 ثوان - مما يجعل فرقا كبيرا عند كتابة عشرات اختبارات الوحدة كل يوم!

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

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