المنظار: حسنا ، اختبار وحدة كسول جدا

في العمل ، نكتب كثيرًا من منطق العمل المتغير في JS (بدء التشغيل). حتى كثير وأريد اختبار كل هذا من العادة القديمة ، ولكن بشكل أسرع بطريقة ما ، بحيث لا تتداخل الاختبارات مع govnokod عند الحاجة إليها ، ولا يتم تخصيص بنية الوحدات بشكل خاص للاختبارات. في مرحلة ما ، جاء التفكير أنه يمكن أيضًا تشغيله تلقائيًا بطريقة ما بمساعدة مكون إضافي من بابل ، بحيث يمكن في البداية أن تتحول جميع المتغيرات والأساليب الخاصة في بيئة اختبار ، ولكنها لن تلمسها في الإنتاج. اتضح أن تكون بسيطة وممتعة للغاية. هذه هي الطريقة التي ظهرت بها Introscope ، والتي نختبر بها الآن كل شيء أكثر أو أقل تعقيدًا.


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


باختصار ، ماذا يمكن أن تفعل؟


  1. يلتف الوحدة بالكامل في وظيفة المصنع بحيث يمكنك إنشاء العديد من الوحدات النمطية الجديدة أثناء الاختبار حسب حاجتك. هذا يلغي الحاجة إلى القيام unmock.
  2. نظرًا لأن الوحدة النمطية مغلفة ، فإن tulza يعرف بالضبط المتغيرات التي تستوردها الوحدة ويمكنه إنشاء moki حسب نوعه. هذا يعمل بشكل جيد للغاية لأسلوب وظيفي أكثر أو أقل.
  3. إنه قادر على تسجيل المكالمات والوسيطات لوظائف من الوحدات الخارجية ووضعها كلها في سجل ، والتي يتم متسلسلها بشكل جميل للقطات (إذا كنت تستخدم Jest ، فسيبدأ كل شيء على الفور).
  4. ميزة Killer: يمكنها حفظ نتيجة استدعاء وظيفة خارجية واستخدامها لإجراء مزيد من الاختبارات. أنها مريحة للغاية عند اختبار طلبات الخدمات الخارجية التي اعتدناها على القيادة في moki بأيدينا.
  5. بالاقتران مع Jest ، يتم تحديث الاختبارات عن طريق الضغط على زر U (أنا لا أمزح) ، والذي يقوم بتحديث اللقطات. نهج الاختبار الذهبي في كل مجدها.
  6. يعمل في الإنتاج لمدة عام تقريبا.

نتيجة لذلك


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


الرابط: Introscope (هناك أيضا gif screencasts!). سأكون سعيدًا جدًا للنقد البنّاء وروابطه مع نفسه ، ولكني فعلت بشكل أفضل: D


الصورة

Source: https://habr.com/ru/post/ar437104/


All Articles