Pular para o conteúdo
Skillpedia
Testes40 mil · #5093

creating-oracle-to-postgres-migration-integration-tests

Faz seu agente criar testes de integração para migração de dados Oracle para PostgreSQL. Garante que o comportamento esperado seja capturado.

O que ela faz

Esta ferramenta cria testes automáticos para verificar como seu programa interage com o banco de dados Oracle. Ela garante que o programa funcione corretamente com o Oracle antes de ser adaptado para o PostgreSQL.

Quando usar

  • ✓Quando você está começando a preparar a migração do Oracle para o PostgreSQL.
  • ✓Antes de qualquer trabalho de migração para o PostgreSQL ser feito.
  • ✓Para garantir que os testes funcionem com o Oracle como base.

Exemplo do que pedir para a IA

“Crie testes de integração para o meu projeto de acesso a dados que se conecta ao Oracle.”

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/github/awesome-copilot/blob/main/skills/creating-oracle-to-postgres-migration-integration-tests/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/creating-oracle-to-postgres-migration-integration-tests/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seu código, cria dados de exemplo no Oracle e escreve testes que verificam se o código se comporta como esperado. Esses testes são feitos para serem facilmente adaptados para o PostgreSQL depois.

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 github/awesome-copilot --skill creating-oracle-to-postgres-migration-integration-tests

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/creating-oracle-to-postgres-migration-integration-tests/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.

Criando Testes de Integração para Migração de Oracle para PostgreSQL

Gera casos de teste de integração para artefatos de acesso a dados em um único projeto de destino. Os testes visam o Oracle e capturam seu comportamento como a linha de base autoritativa. Eles são escritos para serem logicamente portáteis — para que possam sobreviver à migração da Fase 6 sem reescrita — mas não são executados contra o PostgreSQL nesta fase.

Pré-requisitos

  • O projeto de teste já deve existir e compilar (estruturado separadamente).
  • Leia a classe de teste base existente e as convenções do gerenciador de sementes antes de escrever os testes.

Fluxo de Trabalho

Test Creation:
- [ ] Step 1: Discover the test project conventions
- [ ] Step 2: Identify testable data access artifacts
- [ ] Step 3: Create seed data
- [ ] Step 4: Write test cases
- [ ] Step 5: Review determinism

Etapa 1: Descobrir as convenções do projeto de teste

Leia a classe de teste base, o gerenciador de sementes e o arquivo do projeto para entender os padrões de herança, gerenciamento de transações e convenções de arquivo de sementes.

Etapa 2: Identificar artefatos de acesso a dados testáveis

Escopo apenas para o projeto de destino. Liste os métodos de acesso a dados que interagem com o banco de dados — repositórios, DAOs, chamadores de stored procedure, construtores de consulta.

Etapa 3: Criar dados de semente

  • Siga as convenções de localização e nomenclatura de arquivos de sementes do projeto existente.
  • Evite TRUNCATE TABLE — mantenha os dados existentes do banco de dados intactos.
  • Assuma que linhas de negócios e linhas de consulta existentes já estão presentes; adicione apenas registros de semente mínimos e seguros contra colisões necessários para o cenário.
  • Não confirme dados de semente; os testes são executados em transações que são revertidas.
  • Garanta que os dados de semente não entrem em conflito com outros testes.
  • Carregue e verifique os dados de semente antes que as asserções dependam deles.
  • Crie ou reutilize uma classe de LookupConstants de teste para IDs/códigos de consulta estáveis usados em construtores de sementes e asserções.

Etapa 4: Escrever casos de teste

  • Herde da classe de teste base para obter criação/reversão automática de transações.
  • Garanta que cada método que acessa o banco de dados em escopo tenha pelo menos um teste de integração (ou vários testes para ramos de comportamento de maior risco).
  • Afirme saídas lógicas (linhas, colunas, contagens, tipos de erro), não mensagens específicas da plataforma.
  • Afirme valores esperados específicos — nunca afirme que um valor é meramente não nulo ou não vazio quando um valor concreto está disponível a partir dos dados de semente.
  • Evite testar caminhos de código que não existem ou afirmar comportamento que não pode ocorrer.
  • Evite asserções redundantes entre testes que visam o mesmo método.
  • Para parâmetros de texto, inclua cobertura de string vazia e NULL/entrada ausente, onde aplicável.
  • Para comportamento de data/hora, inclua asserções que validem que o valor gravado e lido de volta corresponde — use a precisão da coluna do Oracle (por exemplo, apenas segundos para uma coluna de data/hora sem frações de segundo) em vez de assumir qualquer sintaxe de tipo de banco de dados específica.

Etapa 5: Revisar determinismo

Reexamine cada asserção contra valores não nulos. Confirme que cada um é determinístico em relação aos dados semeados. Corrija qualquer asserção que dependa do estado do banco de dados fora do controle do teste.

Principais Restrições

  • Apenas Fase 3 — estes testes visam o Oracle. Não invoque esta habilidade durante a Fase 6 ou contra um projeto que visa o PostgreSQL.
  • Oracle é a fonte dourada — os testes capturam o comportamento esperado do Oracle.
  • Portabilidade de asserção — evite mensagens de erro ou sintaxe específicas da plataforma nas asserções para que, quando o projeto de teste for migrado para o PostgreSQL na Fase 6, as asserções não exijam alterações.
  • Semear apenas contra Oracle — o projeto de teste será migrado para o PostgreSQL na Fase 6; os dados de semente e a infraestrutura permanecerão com o Oracle como alvo até então.
  • Escopo para um projeto — não crie testes para artefatos fora do projeto de destino.
  • Preservar dados existentes — nunca reescreva ou apague linhas de negócios ou de consulta pré-existentes.
Perguntas frequentes

O que são 'artefatos de acesso a dados'?

São as partes do seu código que conversam diretamente com o banco de dados para buscar ou salvar informações.

Por que usar o Oracle como 'fonte autoritativa'?

Porque o Oracle é o sistema atual. Os testes garantem que tudo funciona bem com ele antes de mudar para o PostgreSQL.

Posso usar isso depois que o projeto já foi migrado para o PostgreSQL?

Não, esta ferramenta é apenas para a fase de preparação, antes da migração. Ela só funciona com o Oracle.

Detalhes

Descrição original do autor

Creates integration test cases targeting Oracle for .NET data access artifacts. Tests capture Oracle expected behavior as the authoritative baseline; they are written once and later ported to PostgreSQL by migrating the test project in Phase 6. Use only during Phase 3, before any PostgreSQL migration work has begun. Do not invoke during Phase 6 or against a project that has already been migrated.

repo: github/awesome-copilot

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas