ConstructiCat Logo
CodeBust.
Browse section ▾

الروائح غير المستقرة.

Refactoring Mascot
الاختبار غير المستقر (المتقلب)

ينجح الاختبار غير المستقر (المتقلب) ويفشل بشكل متقطع على نفس الكود لأن نتيجته تعتمد على التوقيت أو التترتيب أو الحالة المشتركة أو غيرها من العوامل غير الحتمية بدلاً من السلوك قيد الاختبار.

001
Architectural Patterns Mascot
الاختبار النائم

يقوم الاختبار النائم بإيقاف التنفيذ مؤقتاً باستخدام تأخير ثابت مشفر (`Thread.sleep`، أو `setTimeout`، أو `cy.wait(2000)`، أو `page.waitForTimeout`) لانتظار انتهاء العمل غير المتزامن بدلاً من انتظار الشرط الفعلي نفسه.

002
Code Smells Mascot
حرب تشغيل الاختبارات

تحدث حرب تشغيل الاختبارات (Test Run War) عندما تنجح الاختبارات لشخص واحد ولكنها تفشل عشوائياً بمجرد قيام عدة أشخاص أو مهام تكامل مستمر (CI) بتشغيل مجموعة الاختبارات في نفس الوقت، وذلك بسبب تصادم الاختبارات على هيكل اختبار مشترك ومستمر.

003
Antipatterns Mascot
الاعتماد على ترتيب الاختبارات

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

004