Dart Academy · درس

‏group وsetUp وtearDown

تنظيم الاختبارات ومشاركة التجهيزات

الدرس 2 من 413 خطوة

‏group وsetUp وtearDown درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

تتضاعف الاختبارات بسرعة

سرعان ما تحتاج الميزة الواحدة إلى اختبارات كثيرة. ومن دون تنظيم، يتحول الملف إلى قائمة مسطحة يصعب تصفحها. يحافظ التنظيم على سهولة القراءة. 📚

تعرّفوا إلى group

تجمع group الاختبارات المرتبطة تحت تصنيف واحد. وتظهر مخرجاتها بمسافات بادئة، فتُقرأ مجموعات الاختبار كأنها مخطط تفصيلي.

group('Cart', () {
  test('starts empty', () { /* ... */ });
});

تداخل المجموعات

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

إعداد متكرر يسبب الضوضاء

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

تعرّفوا إلى setUp

يُنفّذ رد النداء setUp قبل كل اختبار ضمن نطاقه، مما يمنح كل اختبار حالة بدء جديدة ومتماثلة.

late Cart cart;
setUp(() {
  cart = Cart();
});

حالة جديدة في كل مرة

بما أن setUp يُنفّذ قبل كل اختبار، فلا يمكن لأي اختبار تسريب حالته إلى الاختبار التالي. ويحافظ العزل على موثوقية النتائج.

تعرّفوا إلى tearDown

يُنفّذ رد النداء tearDown بعد كل اختبار، وهو مناسب تمامًا لإغلاق الملفات والمقابس أو تحرير الموارد.

tearDown(() {
  cart.dispose();
});

النطاق مهم

ينطبق setUp و tearDown على group الذي وُضعا فيهما، بما في ذلك المجموعات المتداخلة، لذا ضعوهما في الموضع المناسب.

بدائل التشغيل مرة واحدة

هل تحتاجون إلى إعداد يُنفّذ مرة واحدة لمجموعة كاملة؟ استخدموا setUpAll و tearDownAll مع الموارد المكلفة والقابلة للمشاركة.

setUpAll(() => startServer());
tearDownAll(() => stopServer());

ترتيب التنفيذ

ينفّذ المشغّل لكل اختبار setUpAll مرة واحدة، ثم setUp، ثم الاختبار، ثم tearDown، وأخيرًا tearDownAll عند انتهاء كل شيء.

حافظوا على نزاهة الإعداد

ضعوا في setUp التحضير المشترك الخالي من الآثار الجانبية فقط. أما القيم الخاصة بالاختبار فتبقى داخل كل اختبار من أجل الوضوح.

تحقق سريع

متى يُنفّذ رد نداء setUp؟

مراجعة

استخدمتم group للتنظيم، وsetUp لإعداد حالة جديدة، وtearDown للتنظيف بعد كل اختبار. مجموعات اختبارات مرتبة ونتائج موثوقة. 🧹

البدء مجانًا

تعلم Dart مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «‏group وsetUp وtearDown» مجاني؟

نعم — نص درس «‏group وsetUp وtearDown» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «‏group وsetUp وtearDown»؟

تنظيم الاختبارات ومشاركة التجهيزات تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «‏group وsetUp وtearDown»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أول اختبار لكم مع test وexpect
  2. ‏group وsetUp وtearDown
  3. اختبار الشيفرة غير المتزامنة وStreams
  4. ‏Mocks وFakes والتغطية
← العودة إلى Dart Academy