temporal-python-testing
Faz seu agente testar fluxos de trabalho do Temporal de forma eficaz usando pytest. Ajuda a garantir que os fluxos de trabalho funcionem corretamente em diferentes cenários.
O que ela faz
Esta skill ajuda você a testar seus programas (chamados de 'workflows') que rodam na plataforma Temporal usando a ferramenta pytest. Ela ensina como fazer testes rápidos e confiáveis.
Quando usar
- ✓Quando você quer testar se um 'workflow' funciona corretamente sozinho.
- ✓Quando você quer testar como um 'workflow' interage com outras partes do seu programa.
- ✓Quando você quer garantir que seu 'workflow' sempre se comporta da mesma maneira.
Exemplo do que pedir para a IA
“Como posso testar meu workflow para que ele rode muito rápido, mesmo que demore muito tempo na vida real?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela usa uma ferramenta chamada pytest para rodar seus testes. Para acelerar os testes, ela simula o tempo passando, permitindo testar fluxos longos em segundos. Ela também ensina como 'fingir' que partes externas do seu programa funcionam, para focar apenas no seu 'workflow'.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill temporal-python-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-testing/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Estratégias de Teste para Temporal Python
Abordagens abrangentes de teste para workflows Temporal usando pytest, recursos de divulgação progressiva para cenários de teste específicos.
Não use esta habilidade quando
- A tarefa não estiver relacionada a estratégias de teste Temporal Python
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Testes unitários de workflows - Testes rápidos com "time-skipping" (avanço de tempo)
- Testes de integração - Workflows com atividades mockadas (simuladas)
- Testes de replay - Valide a determinismo contra históricos de produção
- Desenvolvimento local - Configure o servidor Temporal e o pytest
- Integração CI/CD - Pipelines de teste automatizados
- Estratégias de cobertura - Alcance ≥80% de cobertura de teste
Filosofia de Teste
Abordagem Recomendada (Fonte: docs.temporal.io/develop/python/testing-suite):
- Escreva a maioria como testes de integração
- Use pytest com "async fixtures"
- O "time-skipping" permite feedback rápido (workflows de um mês → segundos)
- Mocke atividades para isolar a lógica do workflow
- Valide o determinismo com testes de replay
Três Tipos de Teste:
- Unitário: Workflows com "time-skipping", atividades com
ActivityEnvironment - Integração: Workers com atividades mockadas
- End-to-end: Servidor Temporal completo com atividades reais (use com moderação)
Recursos Disponíveis
Esta habilidade fornece orientação detalhada através de divulgação progressiva. Carregue recursos específicos com base nas suas necessidades de teste:
Recursos de Teste Unitário
Arquivo: resources/unit-testing.md
Quando carregar: Testando workflows ou atividades individuais isoladamente
Contém:
WorkflowEnvironmentcom "time-skipping"ActivityEnvironmentpara teste de atividades- Execução rápida de workflows de longa duração
- Padrões de avanço manual de tempo
- Fixtures e padrões do pytest
Recursos de Teste de Integração
Arquivo: resources/integration-testing.md
Quando carregar: Testando workflows com dependências externas mockadas
Contém:
- Estratégias de mock de atividades
- Padrões de injeção de erros
- Teste de workflow com múltiplas atividades
- Teste de sinais e consultas
- Estratégias de cobertura
Recursos de Teste de Replay
Arquivo: resources/replay-testing.md
Quando carregar: Validando determinismo ou implantando alterações de workflow
Contém:
- Validação de determinismo
- Replay de histórico de produção
- Padrões de integração CI/CD
- Teste de compatibilidade de versão
Recursos de Desenvolvimento Local
Arquivo: resources/local-setup.md
Quando carregar: Configurando o ambiente de desenvolvimento
Contém:
- Configuração do Docker Compose
- Configuração e ajuste do pytest
- Integração da ferramenta de cobertura
- Workflow de desenvolvimento
Guia de Início Rápido
Teste Básico de Workflow
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
Teste Básico de Atividade
from temporalio.testing import ActivityEnvironment
async def test_activity():
env = ActivityEnvironment()
result = await env.run(your_activity, "test-input")
assert result == expected_output
Metas de Cobertura
Cobertura Recomendada (Fonte: melhores práticas do docs.temporal.io):
- Workflows: ≥80% de cobertura de lógica
- Atividades: ≥80% de cobertura de lógica
- Integração: Caminhos críticos com atividades mockadas
- Replay: Todas as versões de workflow antes da implantação
Princípios Chave de Teste
- Time-Skipping - Workflows de um mês testados em segundos
- Mock de Atividades - Isole a lógica do workflow de dependências externas
- Teste de Replay - Valide o determinismo antes da implantação
- Alta Cobertura - Meta de ≥80% para workflows de produção
- Feedback Rápido - Testes unitários executados em milissegundos
Como Usar os Recursos
Carregue o recurso específico quando necessário:
…
Perguntas frequentes
O que é um 'workflow' na Temporal?
Um 'workflow' é um programa que roda na plataforma Temporal para orquestrar tarefas complexas e resilientes.
Por que 'mockar' atividades?
'Mockar' significa criar uma versão falsa de uma parte do seu programa para testar outra parte isoladamente. Isso ajuda a focar no 'workflow' sem se preocupar se as outras partes estão funcionando.
O que é 'replay testing'?
É um teste que roda seu 'workflow' com um histórico real de execução para garantir que ele sempre produz o mesmo resultado, o que é crucial para a confiabilidade.
Detalhes
Descrição original do autor
Comprehensive testing approaches for Temporal workflows using pytest, progressive disclosure resources for specific testing scenarios.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4344
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC