Pular para o conteúdo
Skillpedia
Testes48 mil · #4344

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-testing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/temporal-python-testing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-testing

Ou 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.md
Conteú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:

  1. Unitário: Workflows com "time-skipping", atividades com ActivityEnvironment
  2. Integração: Workers com atividades mockadas
  3. 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:

  • WorkflowEnvironment com "time-skipping"
  • ActivityEnvironment para 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

  1. Time-Skipping - Workflows de um mês testados em segundos
  2. Mock de Atividades - Isole a lógica do workflow de dependências externas
  3. Teste de Replay - Valide o determinismo antes da implantação
  4. Alta Cobertura - Meta de ≥80% para workflows de produção
  5. 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4344
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas