Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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 workflow tests or debugging test failures.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 111% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 33% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 148% | 0% |
Comprehensive testing approaches for Temporal workflows using pytest, progressive disclosure resources for specific testing scenarios.
Recommended Approach (Source: docs.temporal.io/develop/python/testing-suite):
Three Test Types:
This skill provides detailed guidance through progressive disclosure. Load specific resources based on your testing needs:
File: resources/unit-testing.md When to load: Testing individual workflows or activities in isolation Contains:
File: resources/integration-testing.md When to load: Testing workflows with mocked external dependencies Contains:
File: resources/replay-testing.md When to load: Validating determinism or deploying workflow changes Contains:
File: resources/local-setup.md When to load: Setting up development environment Contains:
pythonimport 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
pythonfrom temporalio.testing import ActivityEnvironment async def test_activity(): env = ActivityEnvironment() result = await env.run(your_activity, "test-input") assert result == expected_output
Recommended Coverage (Source: docs.temporal.io best practices):
Load specific resource when needed:
resources/unit-testing.mdresources/integration-testing.mdresources/local-setup.mdresources/replay-testing.mdOther measured skills in the registry, with their headline benchmark lift.