ホーム/テスト&QA/temporal-python-testing
T

temporal-python-testing

by @wshobsonv
4.5(48)

Temporal Pythonテストに焦点を当て、インテリジェントな自動化とマルチエージェントオーケストレーションを活用して、分散ワークフローの堅牢性と信頼性を確保します。

temporal.iopython-testingworkflow-testingdistributed-systemstest-automationGitHub
インストール方法
npx skills add wshobson/agents --skill temporal-python-testing
compare_arrows

Before / After 効果比較

1
使用前

従来の分散ワークフローテストは複雑で時間がかかり、様々な異常シナリオを網羅することが困難でした。そのため、本番環境でシステム障害が発生しやすく、ビジネスの継続性とデータの信頼性に影響を与えていました。

使用後

インテリジェントな自動化とマルチエージェントオーケストレーションを活用したTemporal Pythonテストにより、複雑なシナリオを効率的にシミュレートし、分散ワークフローの堅牢性と信頼性を確保し、生産リスクを大幅に低減できます。

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

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数6.7K
評価4.5 / 5.0
バージョン
更新日2026年5月22日
比較事例1 件

ユーザー評価

4.5(48)
5
17%
4
48%
3
31%
2
4%
1
0%

この Skill を評価

0.0

対応プラットフォーム

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

タイムライン

作成2026年3月17日
最終更新2026年5月22日