Skip to content

Testes e qualidade

Duas camadas. Uma roda em cada commit; outra é manual antes de cada release. Ambas são open source, visíveis no GitHub.

Resumo

CamadaFerramentasQuando rodaOnde encontrar
Testes unitáriosVitestCada push / PR via GitHub Actions CIpackages/**/src/**/*.test.ts — 15+ arquivos: geração SQL, parsing EXPLAIN, schema diff, criptografia round-trip, mapeamento Oracle→DM
Listas manuaisCheckboxes Markdown + Evidência (captura / log SQL)Auto-teste em PR + smoke pré-release, modelos auto-preenchidos em PRs / issuesdocs/qa/ — 30+ listas, ~6000 linhas

Camada 1 — Testes unitários

Cada commit dispara CI:

  1. pnpm typecheck
  2. pnpm test
  3. pnpm lint

PRs vermelhos não podem fazer merge em main.

Cobre: lógica pura — geração DDL multi-dialeto, parsing EXPLAIN, schema diff, tradução Oracle→DM, criptografia de settings, cobertura i18n, regras do linter SQL.

Não cobre: renderização de componentes Vue, interação com BD real, atalhos cross-OS, fluxo de auto-update — vai para Camada 2.

Ver: packages/ui/src/*.test.ts · GitHub Actions

Camada 2 — Listas manuais

Todas em Markdown, Evidência obrigatória — um ✅ deve estar lastreado em captura / log SQL / gravação. Fluxo:

  • Abrir PR → GitHub auto-popula seções Manual test + Reviewer verification; autor marca durante auto-teste com evidências. Revisor deve dar pull no branch e re-rodar ≥2 itens aleatórios antes de aprovar
  • Antes de release🚦 Release Smoke issue; modelo pré-preenche o smoke. Marcar tudo verde ou linkar falhas a issues antes de tagear

Organização

Cada arquivo por dialeto cobre

Connection · Database/schema · Tables · Indexes · Views · Constraints · Functions / Stored procs · Triggers · Sequences · Users · Roles · Grants · DML/Query · Transactions · Quirks específicos · Cross-platform · Known limitations.

Modelos que deixam rastro

O que não fingimos

  • Sem testes UI automatizados ainda (Playwright em ROADMAP Q4)
  • Testes manuais dependem de disciplina — Evidence + contra-assinatura do revisor elevam o custo de "marcar sem testar"
  • Cobertura de BD real depende do ambiente do tester — listas sugerem docker-compose mas executar é decisão do tester

Como ajudar


Qualidade por release? Release Smoke issues · Status CI? GitHub Actions · Roteiro? ROADMAP

Apache License 2.0 · Wuhan Skyler Network Technology Co., Ltd.