python-testing-patterns
كتابة اختبارات بايثون أفضل
متاح أيضًا من: ActiveInferenceInstitute,wshobson
كتابة اختبارات قابلة للصيانة أمر صعب. هذه المهارة توفر أنماط pytest شاملة بما في ذلك التجهيزات (fixtures)، والمحاكاة (mocking)، والتحديد البارامتري، وسير عمل TDD لمساعدتك في بناء مجموعات اختبارات موثوقة.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-testing-patterns". كتابة اختبارات لدالة calculate_discount التي تأخذ price و discount_percentage، وتعيد السعر المخفض
النتيجة المتوقعة:
ملف اختبار أساسي مع حالات اختبار متعددة تغطي الخصومات العادية، والخصم صفر، والمدخلات غير الصالحة
استخدام "python-testing-patterns". إنشاء تجهيزات لاختبار اتصال قاعدة البيانات بنطاق session
النتيجة المتوقعة:
إعداد التجهيزات مع نمط yield/teardown مناسب لإدارة موارد قاعدة البيانات
استخدام "python-testing-patterns". محاكاة طلبات HTTP إلى عميل API يجلب بيانات المستخدم
النتيجة المتوقعة:
اختبارات تستخدم patch() لمحاكاة requests.get مع سيناريوهات استجابة مختلفة
التدقيق الأمني
آمنAll 87 static findings are false positives. The detected patterns (external_commands, network, env_access) are documentation examples of pytest commands, HTTP mocking patterns, and test fixture configurations - all legitimate testing education content. No actual security threats present.
عوامل الخطر
⚙️ الأوامر الخارجية (1)
🌐 الوصول إلى الشبكة (1)
🔑 متغيرات البيئة (1)
الأنماط المكتشفة
درجة الجودة
ماذا يمكنك بناءه
إعداد اختبار مشروع بايثون جديد
إعداد مجموعة اختبارات كاملة لمشروع بايثون جديد مع تجهيزات (fixtures)، وتكوين conftest.py، وتكامل CI/CD
تغطية اختبار للكود القديم
إضافة اختبارات إلى كود موجود غير مختبر باستخدام المحاكاة لعزل الوحدات والتحديد البارامتري لتغطية الحالات الحدية
اختبار تكامل API
كتابة اختبارات تكامل لـ REST APIs باستخدام تجهيزات لبيانات الاختبار والمحاكاة لاستدعاءات الخدمات الخارجية
جرّب هذه الموجهات
إنشاء اختبارات pytest لدالة تسمى [FUNCTION_NAME] التي [DESCRIPTION]. استخدم نمط AAA.
إنشاء تجهيزات pytest بنطاق [SCOPE] لتوفير [RESOURCE] للاختبارات. تضمين الإعداد والهدم المناسبين.
كتابة اختبارات تحاكي استدعاءات [EXTERNAL_SERVICE] باستخدام unittest.mock. أظهر كلًا من نهج زخرفة patch ومدير السياق.
إنشاء اختبارات بارامترية لـ [FUNCTION] باستخدام pytest.mark.parametrize لاختبار [EDGE_CASES].
أفضل الممارسات
- استخدم أسماء اختبارات وصفية تشرح ما يتم اختباره والسلوك المتوقع
- حافظ على استقلالية الاختبارات مع إعداد/هدم مناسب - لا توجد حالة مشتركة بين الاختبارات
- اتبع نمط AAA: Arrange (الإعداد)، Act (التنفيذ)، Assert (التحقق) مفصولة بوضوح
تجنب
- تجنب أسماء الاختبارات مثل test_1 أو test_function التي لا تصف غرض الاختبار
- لا تخلط تأكيدات متعددة في اختبار واحد عندما يمكن أن تكون اختبارات منفصلة
- تجنب اختبار تفاصيل التنفيذ بدلاً من السلوك - اختبر ما يفعله الكود، وليس كيف يفعله
الأسئلة المتكررة
ما الفرق بين اختبارات الوحدات واختبارات التكامل؟
كيف يمكنني محاكاة دالة لا تستخدم مكتبة requests؟
ما هو نطاق التجهيز ومتى يجب استخدام كل نطاق؟
كيف أختبر الاستثناءات مع pytest؟
ما هو التطوير القائم على الاختبار (TDD)؟
كيف أشغل فقط الاختبارات التي تتطابق مع كلمة رئيسية معينة؟
تفاصيل المطور
المؤلف
sickn33الترخيص
MIT
المستودع
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/python-testing-patternsمرجع
main
بنية الملفات