البرنامج التعليمي لـ PyUnit: Python إطار اختبار الوحدة (مع مثال)
ما هو اختبار الوحدة؟
وحدة التجارب in Python يتم ذلك لتحديد الأخطاء في وقت مبكر من مرحلة تطوير التطبيق عندما تكون الأخطاء أقل تكرارًا وأقل تكلفة لإصلاحها.
اختبار الوحدة هو اختبار مستوى الكود المكتوب الذي تم تصميمه في Python للتحقق من "وحدة" صغيرة من الوظائف. اختبار الوحدة هو إطار عمل موجه للكائنات يعتمد على تركيبات الاختبار.
Python تقنيات اختبار الوحدة
Python يتضمن اختبار الوحدة بشكل أساسي اختبار وحدة معينة دون الوصول إلى أي كود تابع. يمكن للمطورين استخدام تقنيات مثل النماذج والنماذج لفصل التعليمات البرمجية إلى "وحدات" وإجراء اختبار مستوى الوحدة على القطع الفردية.
- التطوير المبني على الاختبار TDD: يجب إجراء اختبار الوحدة جنبًا إلى جنب مع Pythonولهذا السبب يستخدم المطورون أسلوب التطوير المبني على الاختبار. في طريقة TDD، عليك التصميم أولاً Python اختبارات الوحدة وعندها فقط تستمر في كتابة الكود الذي سيقوم بتنفيذ هذه الميزة.
-
الدعائم والسخرية: وهما تقنيتان رئيسيتان تحاكيان الأساليب المزيفة التي يتم اختبارها. أ رطم يتم استخدامه لملء بعض التبعيات المطلوبة لتشغيل اختبار الوحدة بشكل صحيح. أ قلد من ناحية أخرى، هناك كائن مزيف يقوم بإجراء الاختبارات حيث نضع التأكيد.
نوايا كلا الطريقتين هي نفسها للقضاء على اختبار كافة تبعيات فئة أو وظيفة.
Python إطار اختبار الوحدة
لتسهيل عملية اختبار الوحدة وتحسين جودة مشروعك، يوصى بـ Python إطار اختبار الوحدة. يتضمن إطار اختبار الوحدة
-
بييونيت: يدعم PyUnit التركيبات وحالات الاختبار ومجموعات الاختبار ومشغل الاختبار للاختبار الآلي للتعليمات البرمجية. في PyUnit، يمكنك تنظيم حالات الاختبار في مجموعات لها نفس التركيبات
-
أنف: تساعدك المكونات الإضافية المضمنة في Nose في التقاط المخرجات وتغطية التعليمات البرمجية والمستندات وما إلى ذلك. إن بناء جملة Nose أبسط جدًا ويقلل من العوائق التي تحول دون كتابة الاختبارات. يمتد Python Unittest لتسهيل الاختبار.
- الوثيقة : يتم إدخال البرنامج النصي لاختبار Doctest في سلسلة المستندات مع وظيفة صغيرة في أسفل الملف. يسمح لك Doctest باختبار التعليمات البرمجية الخاصة بك عن طريق تشغيل الأمثلة المضمنة في الوثائق والتحقق من أنها أعادت النتائج المتوقعة. حالة استخدام doctest أقل تفصيلاً ولا تلتقط حالات خاصة. وهي مفيدة كتوثيق معبر لحالة الاستخدام الرئيسية للوحدة ومكوناتها.
اختبار الوحدة باستخدام PyUnit
بيونت هو Python من الميناء JUnit. كجزء من Pyunit، يوجد في وحدة Unittest خمس فئات رئيسية.
- فئة TestCase: تحمل فئة TestCase إجراءات الاختبار وتوفر خطافات لإجراء كل روتين والتنظيف بعد ذلك
- فئة TestSuite: إنه بمثابة حاوية تجميع، ويمكن أن يمتلك كائنات اختبارية متعددة وكائنات اختبارية متعددة
- فئة محمل الاختبار: يقوم هذا الفصل بتحميل حالات الاختبار والمجموعات المحددة محليًا أو من ملف خارجي. تنبعث منها كائنات اختبارية تمتلك تلك الأجنحة والحالات
- فئة TextTestRunner: لإجراء الاختبارات، فإنه يوفر منصة قياسية لتنفيذ الاختبارات
- فئة نتائج الاختبار: يقدم حاوية قياسية لنتائج الاختبار
تصميم حالة اختبار ل Python الاختبار باستخدام PyUnit
يوفر اختبار الوحدة فئة أساسية، وحالة اختبار، والتي يمكن استخدامها لإنشاء حالات اختبار جديدة. لتصميم حالة الاختبار، هناك ثلاث مجموعات من الأساليب المستخدمة
unittest. اختبار
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
في المجموعة الأولى توجد خطافات الاختبار القبلي والبعدي. تبدأ طريقة الإعداد () قبل كل روتين اختبار، وتبدأ عملية التفكيك () بعد الروتين.
تتحكم المجموعة الثانية من الأساليب في تنفيذ الاختبار. تأخذ كلتا الطريقتين سلسلة رسائل كمدخل، وكلاهما يلغي اختبارًا مستمرًا. لكن طريقة Skiptest () تُجهض الاختبار الحالي بينما تفشل طريقة Fail () تمامًا.
الطريقة الأخيرة أو الثالثة تساعد في تحديد الاختبار. يقوم معرف الطريقة () بإرجاع سلسلة تتكون من اسم كائن حالة الاختبار وروتين الاختبار. والطريقة مختصرةDescriptتقوم الدالة ion() بإرجاع تعليق docstr عند بدء كل روتين اختبار.
مزايا الاستخدام Python اختبار وحدة
- يساعدك على اكتشاف الأخطاء في وقت مبكر من دورة التطوير
- يساعدك على كتابة برامج أفضل
- يتزامن بسهولة مع طرق وأدوات الاختبار الأخرى
- سيكون بها عدد أقل من الأخطاء
- من الأسهل تعديله في المستقبل بعواقب أقل جدًا