Skill temporal-python-testing
✓ VerificadoPrueba workflows de Temporal usando pytest con estrategias para pruebas unitarias, de integración, de salto de tiempo (time-skipping) y de replay.
- Estrellas en GitHub
- 42.413
- Archivos
- 5
- Último commit
- 9 nov 2026
- Licencia
- MIT
- Herramientas permitidas
- —
¿Qué hace la skill temporal-python-testing?
temporal-python-testing es una agent skill. Prueba workflows de Temporal usando pytest con estrategias para pruebas unitarias, de integración, de salto de tiempo (time-skipping) y de replay.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill temporal-python-testing
Esta SKILL permite a los desarrolladores que construyen sistemas distribuidos probar workflows de Temporal usando pytest. Proporciona estrategias específicas para pruebas unitarias, de integración y de replay para garantizar el determinismo de los workflows. Un agente debería cargar esta skill al implementar nuevas pruebas de workflows, depurar fallos o configurar un entorno de desarrollo local con Docker Compose.
La skill ofrece orientación especializada a través de recursos en markdown como unit-testing.md e integration-testing.md. Ayuda a los usuarios a implementar el salto de tiempo mediante WorkflowEnvironment para convertir workflows de meses de duración en pruebas que se ejecutan en segundos. Los desarrolladores también pueden usar ActivityEnvironment para pruebas de actividades aisladas y estrategias de mocking para separar la lógica del workflow de las dependencias externas. El objetivo es ayudar a los equipos a alcanzar al menos un 80% de cobertura de lógica tanto para workflows como para actividades, manteniendo ciclos de feedback rápidos.
Lo que un agente puede hacer con ella
- 1Acelerar pruebas de workflows de larga duraciónUsa el salto de tiempo para probar workflows que normalmente duran meses en solo unos pocos segundos.
- 2Aislar la lógica del workflow de las dependenciasImplementa pruebas de integración mediante el mocking de actividades para evitar que las dependencias externas afecten los resultados.
- 3Garantizar el determinismo del workflowValida que los cambios en el workflow sigan siendo deterministas mediante el replay de historiales de producción.
- 4Configurar entornos de desarrollo localConfigura un stack de desarrollo local completo que incluya Docker Compose y configuraciones de pytest.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill temporal-python-testing
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill temporal-python-testing en Plugin
/plugin marketplace add wshobson/agents /plugin install backend-development@claude-code-workflows
Instalar la skill temporal-python-testing en Claude Code
~/.claude/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.claude/skills/temporal-python-testingInstalar la skill temporal-python-testing en Claude Code (project)
.claude/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing .claude/skills/temporal-python-testingInstalar la skill temporal-python-testing en Codex
~/.agents/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.agents/skills/temporal-python-testingInstalar la skill temporal-python-testing en Gemini CLI
~/.gemini/skills/temporal-python-testing/SKILL.md
$ npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.gemini/skills/temporal-python-testingInstalar la skill temporal-python-testing en Claude.ai
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
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Superó nuestras comprobaciones automáticas. No es una auditoría de seguridad: lee los scripts antes de dejar que un agente los ejecute. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblewshobson/agents/plugins/backend-development/skills/temporal-python-testing is public and reachablegithub.com/wshobson/agents/tree/HEAD/plugins/backend-develop ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit 2026-11-09github.com/wshobson/agents/commits ↗Aprobado
- Sin descargar y ejecutar ni robo de credenciales en los scriptsNo scripts in the skill folderAprobado
- Sin instrucciones ocultas en SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/wshobson/agents/blob/HEAD/plugins/backend-develop ↗Aprobado
- Las herramientas preaprobadas están acotadasNo pre-approved tools; the agent asks before using onegithub.com/wshobson/agents/blob/HEAD/plugins/backend-develop ↗Aprobado
SKILL.md
Ver en GitHubTemporal 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
Archivos de esta skill
5Preguntas sobre la skill temporal-python-testing
¿Cómo instalo la skill temporal-python-testing en Claude Code?
Ejecuta npx degit wshobson/agents/plugins/backend-development/skills/temporal-python-testing ~/.claude/skills/temporal-python-testing. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill temporal-python-testing?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Cómo beneficia el salto de tiempo a las pruebas?
El salto de tiempo permite obtener feedback rápido al permitir que workflows que duran meses se prueben en solo segundos.