المهارات test-driven-development
📦

test-driven-development

آمن

أتقن سير عمل التطوير القائم على الاختبار

متاح أيضًا من: ZhanlinCui,DMJGilbert,Cycleaddict,davila7,DYAI2025,CodingCossack,Cygnusfear,obra

كتابة الاختبارات بعد كتابة الكود لا تقدم أي دليل على أنها تختبر شيئًا فعليًا. هذه المهارة تفرض دورة Red-Green-Refactor حيث يجب أن يفشل كل اختبار قبل التنفيذ، مما يضمن أن الاختبارات تتحقق من السلوك الفعلي.

يدعم: Claude Codex Code(CC)
📊 70 كافٍ
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "test-driven-development". Implement a function that retries failed operations 3 times

النتيجة المتوقعة:

  • الخطوة 1 (RED): اكتب اختبار 'retries failed operations 3 times'
  • الخطوة 2: شغّل الاختبار - تحقق من فشله لأن منطق إعادة المحاولة غير موجود
  • الخطوة 3 (GREEN): نفذ حلقة إعادة محاولة حد أدنى
  • الخطوة 4: شغّل الاختبار - تحقق من نجاحه
  • الخطوة 5 (REFACTOR): استخرج منطق إعادة المحاولة إذا لزم الأمر

استخدام "test-driven-development". Bug: Empty email accepted in form

النتيجة المتوقعة:

  • RED: test('rejects empty email') - expect error 'Email required'
  • تحقق: يفشل الاختبار - النموذج يقبل حاليًا البريد الإلكتروني الفارغ
  • GREEN: أضف تحققًا من صحة البريد الإلكتروني الفارغ
  • تحقق: ينجح الاختبار، لا توجد تراجعات
  • النتيجة: تم إصلاح الخطأ مع اختبار يمنع التراجع

التدقيق الأمني

آمن
v1 • 2/25/2026

This skill contains only markdown documentation explaining test-driven development methodology. All 57 static analyzer findings for external_commands are false positives - the detected backticks are markdown code fences (```) used for syntax highlighting, not Ruby shell execution. The 6 cryptographic algorithm findings and reconnaissance detections are also false positives from pattern matching on documentation text. No executable code, network calls, or filesystem operations exist in this skill.

2
الملفات التي تم فحصها
674
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
23
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

تطوير ميزة جديدة

استخدم TDD عند تنفيذ ميزات جديدة لضمان أن كل دالة لديها اختبارات مقابلة تثبت السلوك الصحيح قبل الالتزام

إصلاح خطأ مع منع التراجع

اكتب اختبارًا فاشلاً يعيد إنتاج الخطأ أولاً، ثم نفذ الإصلاح، مما يضمن عدم عودة الخطأ

إعادة الهيكلة بثقة

استخدم مجموعة الاختبارات الموجودة للتحقق من بقاء السلوك دون تغيير أثناء إعادة هيكلة الكود أو تحسينه

جرّب هذه الموجهات

دورة TDD الأساسية
I need to implement [feature]. Help me write a failing test first that describes the expected behavior, then guide me through Red-Green-Refactor.
إصلاح الخطأ باستخدام TDD
Bug: [describe bug]. Help me write a test that reproduces this bug (should fail), then implement the minimal fix to make it pass.
مراجعة جودة الاختبار
Review my test for [function]. Does it test real behavior or mock behavior? Is the test name clear? Does it test one thing?
فحص النمط المضاد لـ TDD
I'm about to [action]. Check if this violates TDD principles. Am I testing mock behavior? Adding test-only code? Mocking without understanding?

أفضل الممارسات

  • راقب دائمًا فشل الاختبار قبل التنفيذ - هذا يثبت أن الاختبار يختبر شيئًا فعليًا
  • اكتب الحد الأدنى من الكود لاجتياز الاختبار - لا ميزات إضافية، لا هندسة مفرطة
  • احذف كود التنفيذ إذا تجاوزت دورة TDD وابدأ من جديد بالاختبارات أولاً

تجنب

  • كتابة كود التنفيذ قبل وجود الاختبار
  • اختبار سلوك الـ mock بدلاً من سلوك الكود الفعلي
  • إضافة طرق خاصة بالاختبار فقط إلى فئات الإنتاج

الأسئلة المتكررة

ماذا لو كتبت كود التنفيذ بالفعل؟
احذفه. الوقت قد أُنفق بالفعل. أعد الكتابة باستخدام TDD بدءًا من اختبار فاشل. الاحتفاظ بكود غير مُتحقَّق منه هو دين تقني.
هل يمكنني كتابة الاختبارات بعد التنفيذ؟
لا. الاختبارات المكتوبة بعد النجاح تمر فورًا، مما لا يثبت شيئًا. أنت تختبر ما تم بناؤه، وليس ما هو مطلوب. TDD يتطلب الاختبار أولاً.
ماذا لو كان الكود بسيطًا جدًا للاختبار؟
الكود البسيط ينكسر أيضًا. اختبار مدته 30 ثانية يمنع الأخطاء المستقبلية. إذا كان الأمر يستحق الشحن، فهو يستحق الاختبار.
كيف أتعامل مع الكود الموجود بدون اختبارات؟
أضف اختبارات للسلوك الموجود قبل إجراء تغييرات. اختبر السلوك الحالي أولاً، ثم استخدم TDD للميزات الجديدة.
ماذا لو كان إعداد الاختبار معقدًا جدًا؟
الاختبارات المعقدة تشير إلى تصميم معقد. بسّط الواجهة، استخرج المساعدين، أو استخدم حقن التبعيات.
متى يمكنني تخطي TDD؟
فقط للنماذج الأولية التي تُستهلَك، أو الكود المُولَّد، أو ملفات التكوين. بالنسبة لكود الإنتاج، استخدم TDD دائمًا ما لم يوافق شريكك البشري على استثناء.

تفاصيل المطور

بنية الملفات