المهارات bats-testing-patterns
🧪

bats-testing-patterns

آمن

كتابة اختبارات قوية لبرامج Shell باستخدام BATS

متاح أيضًا من: wshobson

تعلم أنماط اختبار BATS الشاملة لكتابة اختبارات قابلة للصيانة وموثوقة لبرامج Shell في خطوط أنابيب CI/CD.

يدعم: Claude Codex Code(CC)
🥉 75 برونزي
1

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

2

رفع في Claude

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

3

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

اختبرها

استخدام "bats-testing-patterns". كتابة اختبارات لبرنامج يعالج ملفات CSV

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

  • ملف اختبار BATS مع اختبارات لوجود الملف، التحقق من المحتوى، معالجة الأخطاء لـ CSV التالف، والحالات الناجحة

استخدام "bats-testing-patterns". كيف أختبر أن برنامجي يفشل بشكل صحيح مع إدخال غير صالح؟

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

  • مثال يُظهر كتل @test للوسائط المفقودة، الخيارات غير الصالحة، سيناريوهات رفض الأذونات، وتأكيد رسائل الخطأ

استخدام "bats-testing-patterns". undefined

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

  • هيكل اختبار مع وظائف مساعدة، إعداد الملفات الثابتة، تنظيف teardown، واختبارات لمخرجات المساعدة، وعلامة الإصدار، وتنفيذ الأمر الرئيسي

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

آمن
v1 • 2/25/2026

This skill provides documentation and examples for writing BATS tests. All 91 static findings are false positives: external commands are code examples in markdown, network URLs are documentation links, filesystem patterns are legitimate test setup patterns, and weak crypto detection is a false positive due to 'Bats' being misidentified as a cryptographic reference.

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

درجة الجودة

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

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

مهندس DevOps يختبر برامج البنية التحتية

كتابة اختبارات آلية لبرامج النشر وإدارة البرامج وأتمتة البنية التحتية لضمان الموثوقية.

مطور يضيف اختبارات لأدوات Shell

تنفيذ التطوير الموجه بالاختبارات لأدوات CLI وأدوات Shell لاكتشاف الانحدار مبكراً.

فريق يضع معايير جودة برامج Shell

إنشاء أنماط اختبار شاملة وأفضل الممارسات عبر فريق للحفاظ على جودة متسقة للكود.

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

إنشاء اختبار أساسي
إنشاء ملف اختبار BATS لبرنامج Shell الموجود في script.sh الذي يختبر رمز الخروج ومخرجات الدالة الرئيسية.
اختبار مع ملفات ثابتة
كتابة اختبارات BATS تستخدم ملفات ثابتة من مجلد tests/fixtures/ لاختبار دوال معالجة الملفات.
محاكاة الأوامر الخارجية
أرين كيف أقوم بتخزين أمر 'curl' في BATS لاختبار دالة API دون إجراء طلبات شبكة حقيقية.
دمج CI/CD
إنشاء سير عمل GitHub Actions و Makefile لتشغيل اختبارات BATS في CI/CD مع مخرجات TAP.

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

  • استخدم أسماء اختبارات وصفية توضح بوضوح ما يتم اختباره والسلوك المتوقع
  • قم دائماً بتنظيف الملفات المؤقتة والموارد في وظائف teardown لمنع تلوث الاختبارات
  • محاكاة التبعيات الخارجية مثل استدعاءات API عمليات نظام الملفات لعزل اختبارات الوحدة

تجنب

  • اختبار تأكيدات غير متعددة في دالة اختبار واحدة ينتهك المسؤولية الفردية
  • تخطي teardown أو التنظيف يؤدي إلى اختبارات غير مستقرة وتسريبات الموارد
  • اختبار تفاصيل التنفيذ بدلاً من السلوك القابل للملاحظة يجعل الاختبارات هشة

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

ما هو BATS؟
BATS (Bash Automated Testing System) هو إطار اختبار لبرامج Shell يوفر مخرجات متوافقة مع TAP وبنية اختبار بسيطة.
كيف أقوم بتثبيت BATS؟
التثبيت عبر Homebrew (brew install bats-core)، أو npm (npm install --global bats)، أو الاستنساخ من GitHub وتشغيل نص التثبيت.
ما هو الفرق بين setup و setup_file؟
setup() يعمل قبل كل اختبار، بينما setup_file() يعمل مرة واحدة قبل جميع الاختبارات في ملف. استخدم setup_file للموارد المشتركة المكلفة.
كيف أختبر أن الأمر يفشل؟
استخدم 'run' لتنفيذ الأمر، ثم,确认 أن $status ليس صفراً واختيارياً تحقق من مخرجات الخطأ.
هل يمكنني اختبار البرامج التي تستخدم أوامر خارجية؟
نعم، استخدم محاكاة الوظائف مع 'export -f' أو تخزين الأوامر بإنشاء ملفات تنفيذية وهمية في مجلد PATH مؤقت.
كيف أقوم بتشغيل الاختبارات بالتوازي؟
استخدم العلم --parallel مع bats، على سبيل المثال: bats tests/*.bats --parallel 4

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

بنية الملفات