MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

Temporal Python Testing

Temporal Python Testing is an code AI skill with a core value of Test Temporal workflows with pytest, time-skipping, and mocking strategies. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal wor...

Last verified on: 2026-07-08

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-08
Risk Level Low
mkdir -p ./skills/temporal-python-testing && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/temporal-python-testing/SKILL.md -o ./skills/temporal-python-testing/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Temporal Python Testing Strategies


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


Do not use this skill when


- The task is unrelated to temporal python testing strategies

- You need a different domain or tool outside this scope


Instructions


- Clarify goals, constraints, and required inputs.

- Apply relevant best practices and validate outcomes.

- Provide actionable steps and verification.

- If detailed examples are required, open `resources/implementation-playbook.md`.


Use this skill when


- **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**:


1. **Unit**: Workflows with time-skipping, activities with ActivityEnvironment

2. **Integration**: Workers with mocked activities

3. **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


python
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


python
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%

🎯 Best For

  • QA engineers
  • Developers writing unit tests
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Generating test cases for edge conditions
  • Writing integration test suites
  • Python code quality enforcement
  • Dependency management

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Temporal Python Testing to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Does this generate test mocks?

Many testing skills include mock generation. Check the install command and skill content for details.

Is Temporal Python Testing compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Temporal Python Testing?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Temporal Python Testing?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/temporal-python-testing/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not testing edge cases

AI tends to generate happy-path tests. Manually review for boundary conditions.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills