技能 javascript-testing-patterns
📦

javascript-testing-patterns

安全 🌐 网络访问⚙️ 外部命令📁 文件系统访问🔑 环境变量

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

也可从以下获取: sickn33

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

支持: Claude Codex Code(CC)
⚠️ 68
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

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
审计总数
审计者: claude 查看审计历史 →

质量评分

38
架构
100
可维护性
85
内容
21
社区
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.