ترجمة آلية
تمت ترجمة هذه الصفحة تلقائيًا بواسطة الذكاء الاصطناعي وقد تحتوي على أخطاء. إذا كان هناك أي شيء غير واضح، يُرجى الرجوع إلى المصدر الإنجليزي.
بنية الاختبار¶
نظام اختبار pplx_export غير متصل بالإنترنت بالكامل، ويستخدم بيانات محاكاة تم التحقق منها، ويقوم بقفل لقطات سلوك العارض. تصف هذه الصفحة البنية والضمانات؛ قائمة الوحدات الحالية موجودة في Testing، وتفاصيل التركيبات موجودة في Test fixtures.
يحتفظ القسم بترقيمه من نظرة عامة على البنية.
1. نظام الاختبار¶
قم بتشغيل المجموعة باستخدام uv run pytest tests. يتم الإبلاغ عن أعداد الاختبارات من التشغيل الحالي بدلاً من معاملتها كثابت معماري.
1.1 الطبقات¶
| الطبقة | الوحدات النمطية الممثلة | العقد |
|---|---|---|
| سلوك الوحدة النقية | test_units.py، اختبارات بيانات الاعتماد/الكوكيز/التكوين |
عزل الدوال والفئات والتحقق من الصحة والتطبيع باستخدام مدخلات محاكاة |
| دلالات المكونات | اختبارات المقاطعة، سير العمل النموذجي، تنوع الإجابة، والعلاقات | ممارسة التعاون بين محلل الشفرة والعارض والحالة والفهرس دون الوصول إلى الشبكة |
| سلوك الأوامر/الحالة دون اتصال | اختبارات التعبئة، مزامنة الحذف، التهيئة، ومراجعة الانحدارات | تشغيل مسارات الأوامر مقابل أدلة مؤقتة ونقل مزيف |
| لقطات العارض | test_render_snapshots.py |
تمرير JSON محاكى بشكل API عبر مسار إعادة العرض الإنتاجي ومقارنة جميع بايتات Markdown مع القوالب الذهبية الملتزمة |
معرفات المراجعة مثل N وV3 وV4 وV5 هي بيانات تتبع عبر هذه الطبقات. لا تحدد بنية تشغيل منفصلة، وعلاقتها بوحدات الاختبار ليست بالضرورة واحد لواحد.
1.2 تدفق بيانات اللقطة¶
- يوفر تركيب محاكى
raw_entries.json، واختياريًاraw_blocks.json، وthread.json. - ينسخ
tests/conftest.py::render_fixtureتلك الملفات إلىtmp_path. - يستدعي التركيب
commands.rerender_cmd.rerender، مسار إعادة البناء دون اتصال الإنتاجي. - تتم مقارنة ملفات
conversation.mdوturns/turn_*.mdالجديدة بايت ببايت مع منتجاتgolden/الملتزمة.
القوالب الذهبية هي توقعات مولدة، وليست مصدر بيانات مستقل. أي تغيير في العارض يغير بايتات القطعة يحول مجموعة اللقطات إلى اللون الأحمر حتى تتم مراجعة التغيير وإعادة توليد القوالب الذهبية عن قصد.
1.3 حدود العزل والثقة¶
- أصل التركيب — جميع مدخلات التركيب الملتزمة هي بيانات محاكاة. لا يتم نسخها من حسابات حية، أو استجابات API حية، أو
web_archive/، أو أرشيفات خاصة. - حدود الشبكة — تستخدم الاختبارات مسارات مزيفة وغير متصلة؛ التركيبات الملتزمة لا تتطلب بيانات اعتماد أو وصول إلى الشبكة.
- حدود التكوين — يقوم التركيب التلقائي بتثبيت تكوين حساب نائب، لذا فإن
~/.configالحقيقي للمطور لا يحدد النتائج. - حدود نظام الملفات — يعمل سلوك الأوامر والترحيل تحت
tmp_path؛ أرشيفات المستخدم ليست أهداف اختبار. - حدود البقايا — يرفض
tests/scrub_fixtures.py --checkسلاسل محددة بالبيئة تم تكوينها، ومسارات مطلقة محلية، وبيانات اعتماد URL موقعة دون تعديل الملفات.
معًا، تحمي تأكيدات الوحدة، ودلالات المكونات، واختبارات حالة الأوامر، ولقطات البايت كلاً من المنطق المحلي وعقد إعادة العرض من البداية إلى النهاية.