أنا اختبار مكالمة غير متزامنة باستخدام شكتستكسكتاتيون. تعمل التعليمات البرمجية التالية (ينجح الاختبار) عند تنفيذ كومبليتيونهاندلر قبل مهلة 1 ثانية. ومع ذلك، إذا كان لا يتم استدعاء إكستراكتاندلر، وبالتالي فإن التوقعات لم تتحقق، بدلا من الحصول على فشل الاختبار عند استدعاء ويتفوريكسكتاتيونسويثتيميوت أحصل على إكسكباداشس، وهي ليست مفيدة جدا لأن هذا يجعل من المستحيل أن نرى نتائج جناح الاختبار كله. كيف يمكنني تجنب هذا والحصول على فشل اختبار عادي طلب ديسمبر 21 14 في 15: 31 واحد من أصعب جوانب اختبار رمز مترابطة تتم مزامنة بين مؤشر الترابط واختبار المواضيع التي تم اختبارها من قبل التعليمات البرمجية. إذا كنت تحصل على التزامن خاطئ، يمكن إنهاء الاختبار قبل إنهاء كافة المواضيع التي بدأت. هذا قد يجعل اختبار عودة ايجابيات كاذبة، لأنه لا يكشف عن الإخفاقات على المواضيع هارب. أو الخيوط قد تتداخل مع الاختبارات في وقت لاحق، مما تسبب في إخفاقات اختبار متقطعة التي يصعب تعقب والقضاء عليها. جموكس 1 سينكرونيسر 2 لديه حل ماكرة بسيطة حتى أن يبني على جموكس بناء آلة الدولة القائمة 3. اختبار يمكن أن أقول سينكرونيسر إلى الانتظار لآلة الدولة للدخول أو ترك بعض الدولة. يحتاج الاختبار لتخزين سينكرونيسر في حقل: الآن يمكن للاختبار تعريف أجهزة الدولة واستخدام المزامنة لانتظار أجهزة الدولة هذه للدخول أو ترك حالة معينة. ويجب أن يقترن ذلك بفترة زمنية محددة للتأكد من أن الاختبار لا ينتظر إلى الأبد إذا كان النظام قيد الاختبار لا يفي بالمعايير المنتظرة. يمكن تمرير المهلة إلى أسلوب ويتونتيل أنه يلقي تيموتكسيبتيون مع رسالة بالمعلومات إذا انتهت مهلة. أو، يمكنك الحصول على إطار الاختبار لإكمال الاختبار. على سبيل المثال، في جونيت 4 4 يمكنك تمرير معلمة مهلة إلى التعليق التوضيحي الاختبار. 1. جموكس: jmock. org 2. سينكرونيسر: jmock. org000762.html 3. بناء آلة الدولة: jmock. orgstates. html 4. جونيت 4: junit. org التوثيق دعم المستخدم
No comments:
Post a Comment