ترجمة آلية
تمت ترجمة هذه الصفحة تلقائيًا بواسطة الذكاء الاصطناعي وقد تحتوي على أخطاء. إذا كان هناك أي شيء غير واضح، يُرجى الرجوع إلى المصدر الإنجليزي.
تركيبات الاختبار¶
tests/fixtures/ تحتوي على بيانات محاكاة حتمية الشكل مشابهة لواجهة API لـ
مجموعة الاختبار. تمثل المدخلات هياكل خيط وعمل نموذجية؛
يتم حفظ منتجاتها المقدمة كلقطات ذهبية.
1. عقد المصدر¶
محتوى التركيبة الملتزم بها حاليًا هو محاكى:
- يجب إنشاء التركيبات الجديدة أو المحدثة كبيانات محاكاة؛ يجب على المساهمين
عدم تعبئتها عن طريق استيراد
web_archive/أو بيانات حساب المستخدم أو استجابات API الحية أو الأرشيفات الخاصة. - الأسماء والهويات والمعرفات والاستفسارات والإجابات وحمولات العمل والمسارات وعناوين URL في الملفات الملتزم بها هي عناصر نائبة للاختبار.
- يعكس JSON مخططات استجابة الإنتاج والأرشيف فقط لاختبار سلوك المحلل اللغوي والمقدم والحالة والعلاقة.
- لا يلتزم المستودع بتعيين عكسي من العناصر النائبة إلى المعرفات الخاصة.
يصف المصطلحان تركيبة الوضع الكامل وتركيبة السيناريو المصغر تغطية الاختبار وشكل المدخلات، وليس الأصل. كلاهما بيانات محاكاة.
2. عقد الدليل¶
يحتوي كل دليل تركيبة على مدخلات محاكاة بشكل استجابة خام، وعند الحاجة إلى مقارنة
لقطة، شجرة golden/:
| المسار | الدور |
|---|---|
raw_entries.json |
إدخالات خيط محاكاة بشكل استجابة الإنتاج |
raw_blocks.json |
كتل عمل محاكاة؛ غائبة عندما لا يحتوي الوضع على استجابة كتلة |
thread.json |
بيانات وصفية لخيط مؤرشف محاكى |
golden/conversation.md + golden/turns/turn_*.md |
منتجات مولدة من المدخلات المحاكاة ومقارنة بايت ببايت |
تشمل الاصطلاحات الحتمية الحالية:
- حسابات نائبة
alice/bob، هويات مثال، مساحة BOT نائبة، وread_write_tokenنائب ثابت؛ - معرفات مشتقة من uuid5 موسومة بـ
5cbeef00، تحافظ على المراجع المتقاطعة المقصودة بين السجلات المحاكاة؛ - معرفات
toolu_محاكاة ذات طول ثابت موسومة بـ5crub0؛ - استفسارات وعناوين ونص عمل ومسارات ملفات عامة؛ و
- سلاسل استعلام URL الموقعة تمت إزالتها.
تسهل هذه الاصطلاحات اكتشاف أي بقايا عرضية خاصة بالبيئة؛ لا تعني أن المعرفات المحاكاة مشتقة من كائنات حية.
3. الجرد¶
3.1 تركيبات الوضع الكامل¶
هذه محادثات محاكاة كاملة لكل وضع مدعوم:
| التركيبة | التغطية |
|---|---|
search_demo |
بحث، دورة واحدة؛ كتلة تعليمات برمجية R وتعليمات برمجية مضمنة |
deep_research_demo |
بحث عميق؛ تحويل محدد الرياضيات من البداية إلى النهاية |
computer_demo |
كمبيوتر، عرض عمل من سبع دورات |
council_demo |
عرض لجنة نموذج المجلس بحمولة متداخلة كبيرة |
study_demo |
عرض وضع الدراسة |
3.2 تركيبات السيناريو المصغر¶
هذه حمولات محاكاة مركزة تحتوي فقط على الإدخالات والعلاقات اللازمة لاختبار الانحدار. "مصغر" لا يعني مستخرج من خيط حقيقي.
| التركيبة | التغطية |
|---|---|
scenario_computer_answer_fallback |
استرداد الإجابة من كتلة عمل مقننة عندما يكون مسار FINAL العادي غير متاح |
scenario_subagent_fallback |
عرض عنوان وكيل فرعي وعناصره الخاصة عندما لا يوجد تطابق خلفية |
scenario_user_response |
عرض سؤال/إجابة WORKFLOW_ITEM_USER_RESPONSE |
scenario_subagent_stub |
نافذة ارتباط مدتها عشر ثوانٍ لبقايا نتيجة وكيل فرعي غير مرتبط |
scenario_workflow_item_nested |
عرض كتلة مطوية WORKFLOW_ITEM_WORKFLOW متداخلة |
scenario_limit_interrupted |
مقاطعة حد الإنفاق، شلال الإسناد، موضع الملحق، وعدم العرض المزدوج |
scenario_canceled |
تعليق توضيحي WORKFLOW_CANCELED |
4. صيانة التركيبات¶
يقوم tests/scrub_fixtures.py بتطبيع البيانات المحاكاة، وإعادة توليد المنتجات
الذهبية من خلال عارض الإنتاج دون اتصال، ويفرض بوابة بقايا:
uv run python tests/scrub_fixtures.py
uv run python tests/scrub_fixtures.py --check
- إعادة التوليد — يتم عرض كل تركيبة في دليل مؤقت من خلال
pplx_export.commands.rerender_cmd.rerender؛ عدم تطابق عدد الدورات يؤدي إلى الإنهاء. - التطبيع الحتمي — يتم تطبيع النص النائب، UUIDs، قيم
toolu_، الرموز، وعناوين URL الموقعة بشكل متكرر. - مدخلات الأمان ليست أصلاً —
tests/scrub_pairs.local.jsonالمحلي الاختياري وتكوين حساب على مستوى المستخدم يوسعان فقط فحوصات الاستبدال والبقايا. يجب عدم استخدامهما كمدخلات لبناء سيناريوهات التركيبة. - وضع الفحص —
--checkلا يقوم بأي كتابة ويفشل عند وجود بقايا مهيأة، أو مسارات محلية مطلقة، أو بيانات اعتماد URL موقعة.
قم بتشغيل أداة الصيانة بعد تغيير JSON المدخل المحاكى أو مخرج العارض،
وقم بتشغيل --check قبل التزام تغييرات التركيبة.
5. سلطة اللقطة الذهبية¶
JSON المحاكى الملتزم به هو سلطة الإدخال. Markdown الذهبي هو مخرج مشتق: يتم إعادة توليده من ذلك JSON باستخدام مسار إعادة العرض الحالي للإنتاج ثم يتم التزامه لمقارنة الانحدار على مستوى البايت. يجب عدم تحريره كمصدر حقيقة مستقل.
6. انظر أيضًا¶
- الاختبار — كيف تستهلك المجموعة التركيبات
- هندسة نظام الاختبار — طبقات الانحدار والضمانات
tests/fixtures/README.md— جرد التركيبات المحلي للمستودع