
name: temporal-python-testingdescription: “Comprehensive testing approaches for Temporal workflows using pytest, progressive disclosure resources for specific testing scenarios.”risk: criticalsource: communitydate_added: “2026-02-27”Temporal Python 测试策略使用 pytest 对 Temporal 工作流进行全面测试的方法以及针对特定测试场景的渐进式披露资源。不要在此情况下使用此技能任务与 temporal python 测试策略无关你需要此范围之外的其他领域或工具说明澄清目标、约束和必需的输入。应用相关最佳实践并验证结果。提供可操作的步骤和验证。如果需要详细示例请打开resources/implementation-playbook.md。何时使用此技能工作流单元测试- 使用时间跳跃的快速测试集成测试- 使用模拟活动测试工作流重放测试- 针对生产历史记录验证确定性本地开发- 设置 Temporal 服务器和 pytestCI/CD 集成- 自动化测试流水线覆盖率策略- 实现 ≥80% 的测试覆盖率测试理念推荐方法来源docs.temporal.io/develop/python/testing-suite将大多数测试写成集成测试使用带异步夹具的 pytest时间跳跃实现快速反馈数月的长工作流 → 数秒模拟活动以隔离工作流逻辑使用重放测试验证确定性三种测试类型单元测试: 带时间跳跃的工作流带 ActivityEnvironment 的活动集成测试: 带模拟活动的工作器端到端测试: 带真实活动的完整 Temporal 服务器谨慎使用可用资源此技能通过渐进式披露提供详细指导。根据你的测试需求加载特定资源单元测试资源文件:resources/unit-testing.md何时加载: 隔离测试单个工作流或活动时包含:带时间跳跃的 WorkflowEnvironment用于活动测试的 ActivityEnvironment长时间运行工作流的快速执行手动时间推进模式pytest 夹具和模式集成测试资源文件:resources/integration-testing.md何时加载: 测试带模拟外部依赖的工作流时包含:活动模拟策略错误注入模式多活动工作流测试信号和查询测试覆盖率策略重放测试资源文件:resources/replay-testing.md何时加载: 验证确定性或部署工作流更改时包含:确定性验证生产历史记录重放CI/CD 集成模式版本兼容性测试本地开发资源文件:resources/local-setup.md何时加载: 设置开发环境时包含:Docker Compose 配置pytest 设置和配置覆盖率工具集成开发工作流快速入门指南基本工作流测试importpytestfromtemporalio.testingimportWorkflowEnvironmentfromtemporalio.workerimportWorkerpytest.fixtureasyncdefworkflow_env():envawaitWorkflowEnvironment.start_time_skipping()yieldenvawaitenv.shutdown()pytest.mark.asyncioasyncdeftest_workflow(workflow_env):asyncwithWorker(workflow_env.client,task_queuetest-queue,workflows[YourWorkflow],activities[your_activity],):resultawaitworkflow_env.client.execute_workflow(YourWorkflow.run,args,idtest-wf-id,task_queuetest-queue,)assertresultexpected基本活动测试fromtemporalio.testingimportActivityEnvironmentasyncdeftest_activity():envActivityEnvironment()resultawaitenv.run(your_activity,test-input)assertresultexpected_output覆盖率目标推荐覆盖率来源docs.temporal.io 最佳实践工作流: ≥80% 逻辑覆盖率活动: ≥80% 逻辑覆盖率集成: 使用模拟活动的关键路径重放: 部署前的所有工作流版本关键测试原则时间跳跃- 数月的长工作流在数秒内完成测试模拟活动- 将工作流逻辑与外部依赖隔离重放测试- 部署前验证确定性高覆盖率- 生产工作流 ≥80% 目标快速反馈- 单元测试在毫秒内运行如何使用资源需要时加载特定资源“给我展示单元测试模式” → 加载resources/unit-testing.md“我如何模拟活动” → 加载resources/integration-testing.md“设置本地 Temporal 服务器” → 加载resources/local-setup.md“验证确定性” → 加载resources/replay-testing.md其他参考Python SDK 测试: docs.temporal.io/develop/python/testing-suite测试模式: github.com/temporalio/temporal/blob/main/docs/development/testing.mdPython 示例: github.com/temporalio/samples-python局限性仅当任务明确符合上述范围时使用此技能。不要将输出视为环境特定验证、测试或专家审查的替代品。如果缺少必需的输入、权限、安全边界或成功标准请停下来询问澄清。