temporal-python-testing
使用pytest、时间跳跃与模拟策略测试Temporal工作流。涵盖单元测试、集成测试、回放测试及本地开发环境配置。适用于实现Temporal工作流测试或调试测试失败场景。
作者
分类
开发工具安装
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
Temporal Python Testing
使用 pytest 和 time-skipping 快速测试 Temporal workflows,涵盖单元测试、集成测试、回放测试和本地开发环境搭建的完整测试策略。
适用场景
核心功能
常见问题
Time-skipping 如何让一个月的 workflow 在几秒内测试完成?
WorkflowEnvironment 的 time-skipping 模式会自动跳过 workflow 中的所有等待时间(如 await asyncio.sleep(30 days)),只执行实际业务逻辑。当 workflow 需要等待某个时间点时,测试环境会直接将时间推进到该点,而不需要真实等待。这使得原本需要运行一个月的 workflow 可以在几秒钟内完成测试,同时保持时间逻辑的确定性。
什么时候需要使用回放测试?
回放测试主要用于以下场景:部署前验证 workflow 代码变更不会破坏确定性、升级 Temporal SDK 版本后验证兼容性、复现生产环境的非确定性错误。回放测试使用生产环境真实执行的 Event History 重新执行 workflow,如果新代码产生不同的决策路径,测试会立即失败,帮助你在部署前发现问题。
如何达到推荐的 80% 测试覆盖率?
采用分层测试策略:使用单元测试覆盖 workflow 核心逻辑分支(time-skipping 使这部分测试非常快速)、使用集成测试覆盖 activity 调用和错误处理路径、使用回放测试覆盖所有生产 workflow 版本。配置 pytest-cov 工具定期检查覆盖率,将关键业务逻辑的覆盖率目标设定为 ≥80%,对于复杂的 workflow 建议达到更高覆盖率。