الانتقال إلى المحتوى الرئيسي

الاختبارات

  • حزمة الاختبار الكاملة (الحِزَم، المباشر، Docker): Testing
  • pnpm test:force: يقتل أي عملية Gateway (البوابة) عالقة تحتجز منفذ التحكم الافتراضي، ثم يشغّل مجموعة Vitest الكاملة باستخدام منفذ Gateway معزول حتى لا تتصادم اختبارات الخادم مع نسخة قيد التشغيل. استخدم هذا عندما تترك عملية Gateway سابقة المنفذ 18789 مشغولًا.
  • pnpm test:coverage: يشغّل Vitest مع تغطية V8. العتبات العامة هي 70% للأسطر/الفروع/الدوال/العبارات. تستبعد التغطية نقاط الدخول الثقيلة بالتكامل (توصيل CLI، جسور gateway/telegram، خادم الويب الثابت للدردشة) للحفاظ على تركيز الهدف على منطق قابل لاختبارات الوحدات.
  • pnpm test على Node 24+: يقوم OpenClaw بتعطيل Vitest vmForks تلقائيًا ويستخدم forks لتجنب ERR_VM_MODULE_LINK_FAILURE / module is already linked. يمكنك فرض السلوك باستخدام OPENCLAW_TEST_VM_FORKS=0|1.
  • pnpm test:e2e: يشغّل اختبارات دخان شاملة من الطرف إلى الطرف للـ Gateway (اقتران متعدد النسخ عبر WS/HTTP/العُقد). القيمة الافتراضية هي vmForks + عمّال تكيفيون في vitest.e2e.config.ts؛ يمكنك ضبطها باستخدام OPENCLAW_E2E_WORKERS=<n> وتعيين OPENCLAW_E2E_VERBOSE=1 للحصول على سجلات تفصيلية.
  • pnpm test:live: يشغّل اختبارات مباشرة للموفّرين (minimax/zai). يتطلّب مفاتيح API و LIVE=1 (أو *_LIVE_TEST=1 الخاص بالموفّر) لإلغاء التخطي.

قياس زمن استجابة النموذج (مفاتيح محلية)

السكربت: scripts/bench-model.ts الاستخدام:
  • source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
  • متغيرات بيئة اختيارية: MINIMAX_API_KEY، MINIMAX_BASE_URL، MINIMAX_MODEL، ANTHROPIC_API_KEY
  • الموجّه الافتراضي: «أجب بكلمة واحدة: ok. دون علامات ترقيم أو نص إضافي.»
آخر تشغيل (2025-12-31، 20 تشغيلًا):
  • minimax: الوسيط 1279 مللي ثانية (الحد الأدنى 1114، الحد الأقصى 2431)
  • opus: الوسيط 2454 مللي ثانية (الحد الأدنى 1224، الحد الأقصى 3170)

تهيئة أولية شاملة E2E (Docker)

Docker اختياري؛ لا يلزم إلا لاختبارات الدخان الخاصة بالتهيئة الأولية ضمن الحاويات. تدفّق بدء تشغيل بارد كامل داخل حاوية Linux نظيفة:
scripts/e2e/onboard-docker.sh
يقود هذا السكربت معالج الإعداد التفاعلي عبر pseudo-tty، ويتحقق من ملفات التهيئة/مساحة العمل/الجلسة، ثم يبدأ Gateway ويشغّل openclaw health.

اختبار دخان لاستيراد QR (Docker)

يضمن تحميل qrcode-terminal تحت Node 22+ داخل Docker:
pnpm test:docker:qr