اختبارات التجميع في pytest: Classes vs plain functions

أنا أستخدم pytest لاختبار التطبيق الخاص بي. pytest يدعم 2 منهج (التي أنا على علم) لكيفية كتابة الاختبارات:

  1. في الفصول الدراسية:

test_feature.py -> class TestFeature -> def test_feature_sanity

  1. In functions:

    test_feature.py -> def test_feature_sanity

هل هناك حاجة إلى نهج تجميع الاختبارات في الفصل؟ هل يُسمح بنقل الوحدة الخلفية إلى الوحدة؟ ما هو النهج الذي ستقوله أفضل ولماذا؟

شكرا مقدما!

0
كما هو مذكور في وثائق pytest ، يمكنك استخدامه لتنفيذ اختبارات unittest . بالنسبة لتجميع الاختبارات في الفصل الدراسي ، فإنها في الغالب مسألة ذوق وتنظيم.
وأضاف المؤلف Ignacio Vergara Kausel, مصدر

1 إجابة

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

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

0
وأضاف