temporal-python-testing Skill
✓ VerifiziertTeste Temporal Workflows mit pytest und nutze Strategien für Unit-Tests, Integrationstests, Time-Skipping und Replay-Tests.
- GitHub Stars
- 42.413
- Dateien
- 5
- Letzter Commit
- 9. Nov. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der temporal-python-testing Skill?
temporal-python-testing ist ein Agent Skill. Teste Temporal Workflows mit pytest und nutze Strategien für Unit-Tests, Integrationstests, Time-Skipping und Replay-Tests.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den temporal-python-testing skill
Dieses Skill ermöglicht es Entwicklern, die beim Bauen von verteilten Systemen arbeiten, Temporal Workflows mit pytest zu testen. Es bietet spezifische Strategien für Unit-Tests, Integrationstests und Replay-Tests, um die Deterministik der Workflows sicherzustellen. Ein Agent sollte dieses Skill laden, wenn neue Workflow-Tests implementiert, Fehler debuggt oder eine lokale Entwicklungsumgebung mit Docker Compose aufgesetzt werden.
Das Skill liefert spezialisierte Anleitungen über Markdown-Ressourcen wie unit-testing.md und integration-testing.md. Es hilft dabei, Time-Skipping via WorkflowEnvironment zu implementieren, um monatelange Workflows in Tests zu verwandeln, die in Sekunden laufen. Entwickler können zudem ActivityEnvironment für isolierte Activity-Tests und Mocking-Strategien nutzen, um die Workflow-Logik von externen Abhängigkeiten zu trennen. Das Ziel ist es, Teams dabei zu unterstützen, eine Logik-Abdeckung von mindestens 80 % für Workflows und Activities zu erreichen und gleichzeitig schnelle Feedback-Loops beizubehalten.
Was ein agent damit machen kann
- 1Beschleunigung von langlaufenden Workflow-TestsNutze Time-Skipping, um Workflows, die normalerweise Monate dauern, in nur wenigen Sekunden zu testen.
- 2Isolierung der Workflow-Logik von AbhängigkeitenImplementiere Integrationstests durch Mocking von Activities, um zu verhindern, dass externe Abhängigkeiten die Ergebnisse beeinflussen.
- 3Sicherstellung der Workflow-DeterministikValidiere, dass Workflow-Änderungen deterministisch bleiben, indem du Produktions-Historien per Replay testest.
- 4Konfiguration lokaler EntwicklungsumgebungenSetze einen vollständigen lokalen Development-Stack inklusive Docker Compose und pytest-Konfigurationen auf.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den temporal-python-testing Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den temporal-python-testing Skill in Plugin installieren
/plugin marketplace add wshobson/agents /plugin install backend-development@claude-code-workflows
Den temporal-python-testing Skill in Claude Code installieren
~/.claude/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.claude/skills/temporal-python-testingDen temporal-python-testing Skill in Claude Code (project) installieren
.claude/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing .claude/skills/temporal-python-testingDen temporal-python-testing Skill in Codex installieren
~/.agents/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.agents/skills/temporal-python-testingDen temporal-python-testing Skill in Gemini CLI installieren
~/.gemini/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.gemini/skills/temporal-python-testingDen temporal-python-testing Skill in Claude.ai installieren
npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing temporal-python-testing && zip -r temporal-python-testing.zip temporal-python-testing # claude.ai → Customize → Skills → + → Create skill → Upload a skill → temporal-python-testing.zip
Automatisierte Checks
Geluften am 13. Nov. 2026Vollständiger Bericht →Hat unsere automatischen Prüfungen bestanden. Das ist kein Sicherheitsaudit: Lesen Sie die Skripte, bevor ein Agent sie ausführt. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarwshobson/agents/plugins/backend-development/skills/temporal-python-testing is public and reachablegithub.com/wshobson/agents/tree/HEAD/plugins/backend-develop ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit 2026-11-09github.com/wshobson/agents/commits ↗Bestanden
- Keine Download-und-Ausführen-Muster oder Zugangsdatendiebstahl in SkriptenNo scripts in the skill folderBestanden
- Keine versteckten Anweisungen in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/wshobson/agents/blob/HEAD/plugins/backend-develop ↗Bestanden
- Vorab erlaubte Tools sind eingeschränktNo pre-approved tools; the agent asks before using onegithub.com/wshobson/agents/blob/HEAD/plugins/backend-develop ↗Bestanden
SKILL.md
Auf GitHub ansehenTemporal 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
Dateien in diesem Skill
5temporal-python-testing Skill-Fragen
Wie installiere ich den temporal-python-testing Skill in Claude Code?
Führe npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.claude/skills/temporal-python-testing aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den temporal-python-testing Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.
Wie profitiert das Testing vom Time-Skipping?
Time-Skipping ermöglicht schnelles Feedback, indem Workflows, die normalerweise Monate dauern, in nur wenigen Sekunden getestet werden können.