create-unit-test
إنشاء اختبارات الوحدة لمشاريع Android
كتابة اختبارات الوحدة يضمن صحة الكود ويمنع الانحدار. توفر هذه المهارة إرشادات خطوة بخطوة لإنشاء اختبارات تتبع اتفاقيات المشروع، وتستخدم Robolectric لمكونات Android، وتحافظ على أنماط التسمية والموقع المتسقة.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "create-unit-test". إنشاء اختبار وحدة للفئة PasswordValidator
النتيجة المتوقعة:
- سيتم إنشاء ملف الاختبار في: app/src/test/java/com/example/PasswordValidatorTest.kt
- سيتم استخدام Robolectric لمحاكاة سياق Android
- الاختبارات ستغطي: كلمة المرور الفارغة، كلمة المرور القصيرة، كلمة المرور الصالحة، متطلبات الأحرف الخاصة
- نمط الترتيب-الفعل-التأكد مطبق على كل طريقة اختبار
استخدام "create-unit-test". ساعدني في فهم لماذا يفشل اختباري لـ UserService
النتيجة المتوقعة:
- تحقق من تقرير XML في app/build/test-results/testDebugUnitTest/TEST-com.example.UserServiceTest.xml
- راجع تتبع المكدس لفشل التأكيدات أو الاستثناءات
- تأكد من إعداد الاختبار يتطابق مع سلوك التنفيذ الفعلي
- ضع في الاعتبار الحالات الحدية مثل المدخلات الفارغة أو القيم الحدودية
التدقيق الأمني
آمنThis is a pure documentation skill providing workflow guidance for unit test creation. The static analysis flagged 45 patterns as potentially suspicious, but all are false positives triggered by documentation language. References to Gradle commands, testing frameworks, and technical terms like 'analyze' are benign documentation content, not executable code. No file system access, network calls, or external command execution exists within this skill.
عوامل الخطر
⚙️ الأوامر الخارجية (11)
🌐 الوصول إلى الشبكة (1)
📁 الوصول إلى نظام الملفات (1)
درجة الجودة
ماذا يمكنك بناءه
إضافة اختبارات للميزات الجديدة
إنشاء اختبارات وحدة للوظائف الجديدة باتباع اتفاقيات المشروع وأنماط الاختبار.
التحقق من صحة الكود
تأكد من أن الكود يتصرف بشكل صحيح لكل من السيناريوهات المتوقعة والحالات الحدية.
التحقق من تنفيذ الاختبار
تشغيل وتشخيص نتائج الاختبار للحفاظ على بوابات جودة البناء.
جرّب هذه الموجهات
إنشاء اختبار وحدة للفئة com.example.MyClass باتباع اتفاقيات المشروع. حلل الفئة أولاً لتحديد حالات الاختبار.
إنشاء اختبار Robolectric للفئة MainActivity. حدد المسار السعيد وحالات الخطأ.
راجع فئة UserValidator وأضف اختبارات للحالات الحدية ومسارات معالجة الأخطاء.
الاختبار يفشل. تقرير الاختبار موجود في app/build/test-results/testDebugUnitTest/TEST-com.example.MyTest.xml. ساعدني في تشخيص المشكلة وإصلاحها.
أفضل الممارسات
- استخدم دائماً Robolectric لاختبارات مكونات Android لضمان سلوك متسق عبر الأجهزة
- أنشئ Fakes بدلاً من Mocks عندما يكون ذلك ممكناً لاختبارات أبسط وأكثر قابلية للصيانة
- شغل ./gradlew testDebugUnitTest قبل الالتزام لاكتشاف الأخطاء مبكراً
تجنب
- كتابة اختبارات دون تحليل سلوك الكود المصدري أولاً
- وضع الاختبارات في androidTest بدلاً من مجموعات مصادر test للاختبارات الوحدة
- استخدام Mocks عندما تكون Fakes الأبسط ستحقق نفس تغطية الاختبار