المهارات javascript-testing-patterns
📦

javascript-testing-patterns

آمن 🌐 الوصول إلى الشبكة⚙️ الأوامر الخارجية📁 الوصول إلى نظام الملفات🔑 متغيرات البيئة

كتابة اختبارات JavaScript باستخدام Jest و Vitest

كتابة اختبارات موثوقة لتطبيقات JavaScript و TypeScript تستغرق وقتًا وعرضة للأخطاء. توفر هذه المهارة أنماط اختبار جاهزة للاستخدام للاختبارات الوحدة واختبارات التكامل واختبارات المكونات مع المحاكاة والتجهيزات وسير عمل TDD.

يدعم: Claude Codex Code(CC)
⚠️ 68 ضعيف
1

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

2

رفع في Claude

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

3

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

اختبرها

استخدام "javascript-testing-patterns". اكتب اختبارات لخدمة مستخدم تنشئ وتحدّث وتحذف المستخدمين

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

  • تم إنشاء UserService مع عمليات CRUD
  • تم اختبار طريقة create() - حالة النجاح وحالة خطأ المستخدم المكرر
  • تم اختبار طريقة update() - حالة النجاح وحالة خطأ المستخدم غير الموجود
  • تم اختبار طريقة delete() - الحذف الناجح والمستخدم غير الموجود
  • استُخدم beforeEach لإعادة تعيين حالة الخدمة بين الاختبارات
  • أُضيفت تأكيدات شاملة لجميع الحالات الحدية

استخدام "javascript-testing-patterns". أنشئ اختبار لخدمة API تجلب البيانات من نقطة نهاية خارجية

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

  • تم إعداد ApiService مع طريقتي fetchUser و createUser
  • تم محاكاة global.fetch باستخدام vi.fn() للاختبار المعزول
  • تم اختبار جلب المستخدم الناجح مع استجابة محاكاة
  • تم اختبار معالجة الأخطاء لفشل استدعاءات API
  • تم التحقق من طرق HTTP الصحيحة وجسم الطلب

استخدام "javascript-testing-patterns". اكتب اختبار مكون React لنموذج مع إدخال المستخدم وإرساله

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

  • تم عرض مكون UserForm باستخدام Testing Library
  • تم اختبار عرض حقول الإدخال وتحديثات الحالة
  • تم التحقق من تشغيل استدعاء onSubmit بالبيانات الصحيحة
  • استُخدم fireEvent لمحاكاة تفاعلات المستخدم
  • أُضيفت سمات testid لاختيار العناصر بشكل موثوق

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

آمن
v4 • 1/17/2026

This is a documentation-only skill containing testing pattern examples. The static analyzer flagged 153 patterns, but ALL are FALSE POSITIVEs: weak crypto alerts are triggered by test fixture strings (hashed_password), backtick alerts are TypeScript template literals, path traversal alerts are relative import paths in test code, and the critical heuristic is an invalid combination of benign testing patterns. The previous audit correctly classified this as SAFE.

2
الملفات التي تم فحصها
1,204
الأسطر التي تم تحليلها
4
النتائج
4
إجمالي عمليات التدقيق

عوامل الخطر

🌐 الوصول إلى الشبكة (33)
⚙️ الأوامر الخارجية (43)
📁 الوصول إلى نظام الملفات (9)
🔑 متغيرات البيئة (8)
تم تدقيقه بواسطة: claude عرض سجل التدقيق →

درجة الجودة

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

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

اختبار مكونات React

كتابة اختبارات المكونات باستخدام React Testing Library للتحقق من سلوك واجهة المستخدم وتفاعلات المستخدم.

اختبار نقاط نهاية API

إنشاء اختبارات التكامل لواجهات REST API مع تجهيزات قاعدة البيانات وتدفقات المصادقة.

تنفيذ سير عمل TDD

اتباع أنماط التطوير القائم على الاختبار لبناء وظائف وخدمات موثوقة بتغطية عالية.

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

اختبار وحدة أساسي
اكتب اختبارات وحدة لهذه الدالة التي تغطي الحالات العادية والحالات الحدية وظروف الخطأ.
محاكاة استدعاءات API
أنشئ اختبارات لهذه الخدمة التي تُحاكي استدعاءات API الخارجية باستخدام vi.mock أو jest.mock.
اختبارات المكونات
اكتب اختبارات المكونات باستخدام @testing-library/react التي تختبر التفاعلات والعرض.
اختبارات التكامل
أنشئ اختبارات التكامل لنقطة نهاية REST API هذه بما في ذلك المصادقة وتنظيف قاعدة البيانات.

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

  • استخدم نمط AAA: رتّب المدخلات، اعمل على الدالة، أكّد النتائج المتوقعة
  • محاكِ التبعيات الخارجية للحفاظ على سرعة الاختبارات وعزلها عن الخدمات الحقيقية
  • اختبر السلوك وليس تفاصيل التنفيذ لجعل الاختبارات قادرة على مقاومة إعادة الهيكلة

تجنب

  • تجنب اختبار تفاصيل التنفيذ التي تتغير بشكل متكرر
  • لا تكتب اختبارات تعتمد على ترتيب التنفيذ أو الحالة المشتركة
  • لا تتخطى محاكاة الخدمات الخارجية البطيئة في اختبارات الوحدة

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

أي إطار اختبار يجب أن أستخدمه؟
يُنصح بـ Vitest لمشاريع Vite. Jest يعمل بشكل جيد لجميع المشاريع وله أكبر نظام بيئي.
ما نسبة التغطية التي يجب أن أستهدفها؟
استهدف تغطية 80٪ أو أعلى للكود الحرج. ركّز على الاختبارات ذات المعنى بدلاً من مجرد زيادة الأرقام.
كيف أختبر الكود غير المتزامن؟
استخدم async/await مع expect().resolves أو expect().rejects. امسح المحاكاة باستخدام vi.clearAllMocks() بين الاختبارات.
هل بيانات الاختبار الخاصة بي آمنة؟
توليد هذه المهارة فقط أنماط كود الاختبار. لا تصل إلى بيانات المستخدم أو تخزنها أو تنقلها.
لماذا تفشل اختباراتي بشكل متقطع؟
تحقق من الحالة المشتركة بين الاختبارات. استخدم beforeEach للإعداد وتأكد من مسح المحاكاة. تجنب تبعيات ترتيب الاختبار.
كيف يختلف هذا عن Jest؟
Vitest يستخدم نفس API مثل Jest لكنه يعمل بشكل أسرع مع Vite. التكوين مشابه لكنه يستخدم تنسيق تكوين Vite.

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

بنية الملفات

📄 SKILL.md