سؤال

أنا حاليا كتابة بسيطة ، الموقت صغيرة على أساس التطبيق في C# بتنفيذ إجراء n مرات كل ك ثانية.
أنا أحاول أن اعتماد اختبار مدفوعة تطوير أسلوب ، لذلك هدفي هو وحدة اختبار جميع أجزاء من التطبيق.

لذا سؤالي هو:هل هناك طريقة جيدة لاختبار وحدة مؤقت على أساس الفصل ؟

المشكلة كما أراها هي أن هناك خطر كبير أن الاختبارات سوف تأخذ الاستوائية طويلة لتنفيذ لأنها يجب الانتظار حتى طويلا الإجراءات المطلوبة أن يحدث.
خصوصا إذا كان أحد يريد واقعية البيانات (ثانية) ، بدلا من استخدام الحد الأدنى من الوقت المسموح به في إطار (1 ms؟).
أنا باستخدام كائن وهمي من أجل العمل على تسجيل عدد مرات العمل كان يسمى ، ذلك أن العمل يجري عمليا في أي وقت من الأوقات.

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

المحلول

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

نصائح أخرى

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

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

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

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

لذلك باختصار جوابي على سؤالك هو لا تقلق حول كتابة بعض الاختبارات التي لا تأخذ وقتا طويلا للتشغيل.وحدة اختبار ما يمكن أن جناح اختبار تشغيل سريع في كثير من الأحيان ولكن تأكد من أن الملحق مع التكامل الاختبارات التي تعمل في كثير من الأحيان أقل ولكن تغطي أكثر من تطبيق و التكوين.

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