skills/backend-development/temporal-python-testing/SKILL.md
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.
npx skillsauth add codewithbehnam/cc-docs temporal-python-testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
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
from 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.mdtools
macOS GUI automation CLI. Use steer to see the screen, click elements, type text, send hotkeys, scroll, drag, manage windows and apps, run OCR on Electron apps, and wait for UI conditions.
testing
Ship workflow: merge main, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR.
testing
Import cookies from your real browser (Comet, Chrome, Arc, Brave, Edge) into the headless browse session. Opens an interactive picker UI where you select which cookie domains to import. Use before QA testing authenticated pages.
development
Weekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware: breaks down per-person contributions with praise and growth areas.