temporal-python-testing
por wshobsonTeste workflows Temporal com pytest, time-skipping e estratégias de mocking. Abrange testes unitários, testes de integração, testes de replay e configuração para desenvolvimento local. Use ao implementar testes de workflows Temporal ou depurar falhas em testes.
Visão Geral
O que é temporal-python-testing?
temporal-python-testing é uma skill prática para automatizar testes de workflows Temporal escritos em Python. Ela oferece estratégias e recursos para testes unitários, testes de integração, testes de replay e configuração para desenvolvimento local. A skill é destinada a desenvolvedores backend, engenheiros de QA e equipes de DevOps que precisam garantir a correção, confiabilidade e determinismo do código dos workflows Temporal.
Quem deve usar esta skill?
Use temporal-python-testing se você:
- Desenvolve ou mantém workflows Python no Temporal
- Precisa de testes rápidos e confiáveis (unitários, integração, replay)
- Quer automatizar testes em pipelines CI/CD
- Requer alta cobertura de testes e resultados determinísticos
- Está depurando falhas em workflows ou validando mudanças no código
Quais problemas ela resolve?
- Proporciona feedback rápido com time-skipping (workflows longos testados em segundos)
- Suporta mocking e isolamento para testes de integração
- Valida compatibilidade retroativa e determinismo com testes de replay
- Simplifica a configuração local do servidor Temporal para desenvolvimento e testes
Como Usar
Passos para Instalação
- Adicione a skill ao seu diretório de agentes:
npx skills add https://github.com/wshobson/agents --skill temporal-python-testing - Revise as orientações principais em
SKILL.mdpara uma visão geral das estratégias de teste. - Explore os recursos de apoio:
resources/unit-testing.mdpara testes unitários com time-skippingresources/integration-testing.mdpara mocking de atividadesresources/replay-testing.mdpara testes de replay com históricos de produçãoresources/local-setup.mdpara configuração local do servidor Temporal
Principais Funcionalidades e Padrões
Testes Unitários com Time-Skipping
- Use
WorkflowEnvironment.start_time_skipping()para executar testes de workflow instantaneamente - Teste workflows e atividades isoladamente
- Obtenha feedback rápido e resultados determinísticos
Testes de Integração com Atividades Mockadas
- Faça mocking de dependências externas usando
unittest.mockdo Python - Teste a lógica de orquestração do workflow sem serviços reais
- Injete erros e simule cenários complexos
Testes de Replay para Determinismo
- Use o histórico de eventos do Temporal para reproduzir workflows
- Valide que mudanças no código são seguras e compatíveis retroativamente
- Integre testes de replay no CI/CD para verificações automáticas de compatibilidade
Configuração para Desenvolvimento Local
- Inicie um servidor Temporal localmente com Docker Compose
- Acesse a interface Temporal Web UI para monitoramento de workflows
- Restaure e gerencie dados de teste facilmente
Orientações de Arquivos e Pastas
- Comece por
SKILL.mdpara uma visão geral da skill - Consulte
resources/para guias detalhados sobre cada tipo de teste - Use
resources/local-setup.mdpara configuração do ambiente
Perguntas Frequentes
temporal-python-testing é adequado para testes em produção?
Sim, cobre estratégias de testes unitários, integração e replay recomendadas pelo Temporal para workflows em produção.
Como configurar um servidor Temporal local?
Siga as instruções do Docker Compose em resources/local-setup.md para rodar o Temporal e sua interface localmente.
Posso automatizar testes em pipelines CI/CD?
Sim, a skill oferece orientações para integrar testes ao CI/CD, incluindo testes de replay para verificações de compatibilidade.
Onde encontro exemplos de padrões de teste?
Consulte resources/unit-testing.md, resources/integration-testing.md e resources/replay-testing.md para exemplos práticos de código e padrões.
Como visualizar todos os recursos disponíveis?
Abra a aba Files para navegar pela árvore completa de arquivos, incluindo referências aninhadas e scripts auxiliares.
