技能 temporal-python-testing
📦

temporal-python-testing

低风险 ⚙️ 外部命令

إتقان اختبار سير عمل Temporal في بايثون

也可从以下获取: wshobson

اختبار سير عمل Temporal معقد بسبب العمليات المعتمدة على الزمن والتنفيذ الموزع. توفر هذه المهارة أنماط pytest مثبتة مع تخطي الوقت، ومحاكاة الأنشطة، واختبار إعادة التشغيل لتحقيق تغطية اختبار موثوقة.

支持: Claude Codex Code(CC)
🥉 72 青铜
1

下载技能 ZIP

2

在 Claude 中上传

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

3

开启并开始使用

测试它

正在使用“temporal-python-testing”。 اختبار سير عمل مع مهلة موافقة لمدة 7 أيام

预期结果:

  • اختبار سير العمل يكتمل في 50ms باستخدام وضع تخطي الوقت
  • جميع فروع مسار الموافقة مختبرة بوسائط معلمية
  • تقرير التغطية يظهر 92% تغطية لمنطق سير العمل

正在使用“temporal-python-testing”。 اختبار إعادة التشغيل مقابل 50 سجل إنتاج

预期结果:

  • 48 سير عمل أعيد تشغيلها بنجاح - حتمية
  • 2 سير عمل فشلت - استخدام غير حتمي لوحظ في random module
  • التوصية: استبدل random module بـ workflow.random()

安全审计

低风险
v1 • 2/25/2026

Static analyzer detected 140 patterns flagged as security concerns, but all are false positives from Markdown documentation containing Python code examples. The 'Ruby/shell backtick execution' patterns are Python code fences in markdown. URLs are localhost development references. Network, filesystem, and cryptographic findings are documentation examples, not executable code. Safe for publication as educational content.

5
已扫描文件
1,975
分析行数
2
发现项
1
审计总数
低风险问题 (1)
Documentation Contains Shell Command Examples
Markdown documentation includes shell command examples for Docker and debugging (docker-compose, lsof). These are educational examples in code blocks, not executable code within the skill.
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
88
安全
91
规范符合性

你能构建什么

مطور الواجهة الخلفية يختبر سير العمل

مطور بايثون بحاجة لاختبار سير عمل Temporal يتضمن فترات نوم طويلة لمدة شهر. استخدم هذه المهارة لتنفيذ اختبارات تخطي الوقت التي تكتمل في أجزاء من الثانية، محققًا ملاحظات سريعة أثناء التطوير.

مهندس ضمان الجودة يتحقق من الحتمية

مهندس QA يجب عليه التحقق من أن تغييرات سير العمل لا تكسر التنفيذ الحالي. استخدم هذه المهارة لإعداد اختبار إعادة التشغيل الذي يتحقق من الحتمية مقابل سجلات سير عمل الإنتاج قبل النشر.

مهندس DevOps يعد CI/CD

مهندس DevOps يحتاج اختبار آلي لسير عمل Temporal في خطوط أنابيب CI/CD. استخدم هذه المهارة لدمج pytest مع تتبع التغطية وتصدير السجل الآلي لاختبار الانحدار.

试试这些提示

إعداد اختبار سير العمل الأساسي
ساعدني في كتابة اختبار pytest لسير عمل Temporal يتضمن نومًا لمدة 30 يومًا. أرني كيفية استخدام WorkflowEnvironment مع تخطي الوقت حتى يكتمل الاختبار فورًا.
محاكاة الاعتماديات الخارجية
لدي سير عمل يستدعي واجهات برمجة تطبيقات الدفع والمخزون عبر الأنشطة. أرني كيفية محاكاة هذه الأنشطة في اختبارات التكامل لاختبار منطق أوركسترا سير العمل دون استدعاء خدمات خارجية حقيقية.
التحقق من حتمية سير العمل
عدلت كود سير العمل وأحتاج للتحقق من أنه متوافق مع الإصدارات القديمة لسير العمل قيد التشغيل. أرني كيفية تصدير سجلات سير عمل الإنتاج وإعادة تشغيلها بالكود الجديد للتحقق من الحتمية.
تكامل CI/CD للاختبار
أعد سير عمل GitHub Actions الذي يشغل اختبارات pytest لسير عمل Temporal، بما في ذلك Docker Compose لخادم Temporal، وإعداد تقارير التغطية بحد 80%، وتصدير السجل الآلي لاختبار إعادة التشغيل.

最佳实践

  • استخدم WorkflowEnvironment مع تخطي الوقت لجميع اختبارات الوحدة لتحقيق ملاحظات سريعة - سير العمل التي تدوم شهرًا يجب أن تختبر في أجزاء من الثانية
  • حاك جميع الاعتماديات الخارجية في اختبارات التكامل - لا تستدعِ واجهات برمجة تطبيقات حقيقية أبدًا أثناء تنفيذ الاختبار لضمان الموثوقية والسرعة
  • شغّل اختبارات إعادة التشغيل مقابل سجلات الإنتاج قبل كل نشر - هذا يتحقق من الحتمية ويمنع كسر سير العمل قيد التشغيل

避免

  • استخدام datetime.now() أو random module مباشرة في سير العمل - هذا يكسر الحتمية ويسبب فشل إعادة التشغيل
  • كتابة اختبارات end-to-end مع خادم Temporal حقيقي لكل اختبار - هذا بطيء وهش؛ فضل اختبارات الوحدة بتخطي الوقت
  • تخطي اختبار إعادة التشغيل قبل النشر - تغييرات كود سير العمل قد تكسر التنفيذ الحالي دون تحقق مناسب

常见问题

لماذا تفشل اختبارات إعادة التشغيل الخاصة بي بعد إعادة هيكلة كود سير العمل؟
اختبارات إعادة التشغيل تفشل عندما تغير التغييرات في الكود تسلسل قرارات سير العمل. تأكد من استخدام workflow.now() بدلاً من datetime.now() و workflow.random() بدلاً من random module. تجنب تغيير معرفات الأنشطة أو منطق التفرع الشرطي الذي يؤثر على أي أنشطة يتم جدولتها.
كيف أختبر سير العمل مع فترات نوم طويلة دون انتظار؟
استخدم WorkflowEnvironment.start_time_skipping() الذي يقدم الوقت تلقائيًا عندما ينام سير العمل. نوم لمدة 30 يومًا يكتمل فورًا في الاختبارات. للتحكم اليدوي، استخدم env.sleep(timedelta(hours=1)) لتقديم الوقت بمقادير محددة.
هل يجب اختبار الأنشطة باستخدام ActivityEnvironment أم في Worker؟
استخدم ActivityEnvironment لاختبارات الوحدة المعزولة لمنطق النشاط - هذا أسرع ولا يتطلب خادم Temporal. اختبر الأنشطة داخل Worker عندما تحتاج للتحقق من تكامل سير العمل مع النشاط، أو سلوك إعادة المحاولة، أو معالجة نبضات القلب.
كم مرة يجب تصدير سجلات سير عمل الإنتاج لاختبار إعادة التشغيل؟
صدّر السجلات أسبوعيًا أو بعد تغييرات رئيسية في سير العمل. احتفظ بما لا يقل عن 100 سجل تمثيلي يغطي مسارات تنفيذ مختلفة. أتمت التصدير بمهمة مجدولة تستعلم عن سير العمل المكتمل حديثًا وتحفظ السجلات في مجلد التجهيزات الاختبارية.
ما هدف التغطية الذي يجب أن أستهدفه مع سير عمل Temporal؟
استهدف تغطية 80% أو أعلى لمنطق سير العمل والأنشطة الحرجة. استخدم pytest-cov مع --cov-fail-under=80 لفرض الحد في CI. ركز على اختبار جميع مسارات التفرع، وسيناريوهات الخطأ، وسلوك إعادة المحاولة بدلاً من تحقيق تغطية 100% للسطور.
هل يمكنني استخدام هذه المهارة مع Claude أو Codex أو Claude Code؟
نعم، هذه المهارة متوافقة مع Claude و Codex و Claude Code. جميع المساعدين الثلاثة للذكاء الاصطناعي يمكنهم المساعدة في تنفيذ أنماط الاختبار، وكتابة اختبارات pytest، وإعداد تكوينات Docker Compose، ودمج اختبار إعادة التشغيل في خطوط أنابيب CI/CD.