首页/测试 & QA/temporal-python-testing
T

temporal-python-testing

by @wshobsonv1.0.0
0.0(0)

专注于Temporal Python测试,利用智能自动化和多智能体编排,确保分布式工作流的健壮性与可靠性。

Temporal.ioPython TestingWorkflow TestingDistributed SystemsTest AutomationGitHub
安装方式
npx skills add wshobson/agents --skill temporal-python-testing
compare_arrows

Before / After 效果对比

1
使用前

传统分布式工作流测试复杂且耗时,难以全面覆盖各种异常场景,导致系统在生产环境中容易出现故障,影响业务连续性和数据可靠性。

使用后

借助智能自动化和多智能体编排进行Temporal Python测试,能够高效模拟复杂场景,确保分布式工作流的健壮性与可靠性,大幅降低生产风险。

description SKILL.md

temporal-python-testing

Temporal Python Testing Strategies

Comprehensive testing approaches for Temporal workflows using pytest, progressive disclosure resources for specific testing scenarios.

When to Use This Skill

  • Unit testing workflows - Fast tests with time-skipping

  • Integration testing - Workflows with mocked activities

  • Replay testing - Validate determinism against production histories

  • Local development - Set up Temporal server and pytest

  • CI/CD integration - Automated testing pipelines

  • Coverage strategies - Achieve ≥80% test coverage

Testing Philosophy

Recommended Approach (Source: docs.temporal.io/develop/python/testing-suite):

  • Write majority as integration tests

  • Use pytest with async fixtures

  • Time-skipping enables fast feedback (month-long workflows → seconds)

  • Mock activities to isolate workflow logic

  • Validate determinism with replay testing

Three Test Types:

  • Unit: Workflows with time-skipping, activities with ActivityEnvironment

  • Integration: Workers with mocked activities

  • End-to-end: Full Temporal server with real activities (use sparingly)

Available Resources

This skill provides detailed guidance through progressive disclosure. Load specific resources based on your testing needs:

Unit Testing Resources

File: resources/unit-testing.md When to load: Testing individual workflows or activities in isolation Contains:

  • WorkflowEnvironment with time-skipping

  • ActivityEnvironment for activity testing

  • Fast execution of long-running workflows

  • Manual time advancement patterns

  • pytest fixtures and patterns

Integration Testing Resources

File: resources/integration-testing.md When to load: Testing workflows with mocked external dependencies Contains:

  • Activity mocking strategies

  • Error injection patterns

  • Multi-activity workflow testing

  • Signal and query testing

  • Coverage strategies

Replay Testing Resources

File: resources/replay-testing.md When to load: Validating determinism or deploying workflow changes Contains:

  • Determinism validation

  • Production history replay

  • CI/CD integration patterns

  • Version compatibility testing

Local Development Resources

File: resources/local-setup.md When to load: Setting up development environment Contains:

  • Docker Compose configuration

  • pytest setup and configuration

  • Coverage tool integration

  • Development workflow

Quick Start Guide

Basic Workflow Test

import pytest
from temporalio.testing import WorkflowEnvironment
from temporalio.worker import Worker

@pytest.fixture
async def workflow_env():
    env = await WorkflowEnvironment.start_time_skipping()
    yield env
    await env.shutdown()

@pytest.mark.asyncio
async def test_workflow(workflow_env):
    async with Worker(
        workflow_env.client,
        task_queue="test-queue",
        workflows=[YourWorkflow],
        activities=[your_activity],
    ):
        result = await workflow_env.client.execute_workflow(
            YourWorkflow.run,
            args,
            id="test-wf-id",
            task_queue="test-queue",
        )
        assert result == expected

Basic Activity Test

from temporalio.testing import ActivityEnvironment

async def test_activity():
    env = ActivityEnvironment()
    result = await env.run(your_activity, "test-input")
    assert result == expected_output

Coverage Targets

Recommended Coverage (Source: docs.temporal.io best practices):

  • Workflows: ≥80% logic coverage

  • Activities: ≥80% logic coverage

  • Integration: Critical paths with mocked activities

  • Replay: All workflow versions before deployment

Key Testing Principles

  • Time-Skipping - Month-long workflows test in seconds

  • Mock Activities - Isolate workflow logic from external dependencies

  • Replay Testing - Validate determinism before deployment

  • High Coverage - ≥80% target for production workflows

  • Fast Feedback - Unit tests run in milliseconds

How to Use Resources

Load specific resource when needed:

  • "Show me unit testing patterns" → Load resources/unit-testing.md

  • "How do I mock activities?" → Load resources/integration-testing.md

  • "Setup local Temporal server" → Load resources/local-setup.md

  • "Validate determinism" → Load resources/replay-testing.md

Additional References

  • Python SDK Testing: docs.temporal.io/develop/python/testing-suite

  • Testing Patterns: github.com/temporalio/temporal/blob/main/docs/development/testing.md

  • Python Samples: github.com/temporalio/samples-python

Weekly Installs3.2KRepositorywshobson/agentsGitHub Stars31.5KFirst SeenJan 20, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykWarnInstalled onclaude-code2.4Kopencode2.3Kgemini-cli2.3Kcodex2.2Kcursor2.2Kgithub-copilot1.9K

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例1 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

时间线

创建2026年3月17日
最后更新2026年3月17日