Roadmap — Testes JS
Roadmap do galho 03-Dominios/Tecnologia/Testes JS. Galho em construção: eixo primário = escrita (18 notas); enriquecimento (M1 mídia) secundário. Roster derivado do design 2026-07-06 + index.md.
Régua de análise
- Escrita: ⬜ não escrita · 🔄 rascunho · ✅ escrita + verificada + commitada (YYYY-MM-DD).
- Enriquecimento: ⬜ pendente · ➖ n/a · ✅ enriquecida (gap esperado = M1 mídia).
Esquema de fase:: COM fase (Iniciado/Adepto/Magus; piso guiado pelo padrão capítulo).
Tabela-resumo
| Métrica | Valor |
|---|---|
| Total de notas | 18 |
| ⬜ não escritas | 0 |
| ✅ escritas | 18 |
| % escrito | 100% |
Notas
01 - O cenário de testes JS [substantivo]
- Fase: Iniciado · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: Vitest vs Jest, ecossistema 2026, quando cada um; mapa do galho. Liga Tooling 19 e Testes.
02 - Vitest - setup e o primeiro teste [substantivo]
- Fase: Iniciado · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: config Vite-native,
test/it/describe,expect, modo watch,vitest.config.
03 - Matchers e asserções [substantivo]
- Fase: Iniciado · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
toBe/toEqual/toStrictEqual/toMatchObject/toThrow, matchers assimétricos,expectAPI.
04 - Organização e ciclo de vida [substantivo]
- Fase: Iniciado · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
describe, hooks (beforeEach/afterEach/beforeAll),test.each,.skip/.only/.todo, isolamento.
05 - Testando código assíncrono [substantivo]
- Fase: Iniciado · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
async/await,resolves/rejects,expect.assertions, fake timers (vi.useFakeTimers/advanceTimersByTime).
06 - Mocking com Vitest [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
vi.fn,vi.spyOn,vi.mock(module/partial),mockReturnValue/mockResolvedValue,vi.hoisted, reset. Liga Testes 05.
07 - Testing Library - filosofia e queries [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: “teste como o usuário usa”,
getBy/queryBy/findBy,*AllBy, prioridade de queries (role > label > text),screen.
08 - Testando componentes React [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
render,screen,@testing-library/user-event,findByasync,cleanup, o que testar num componente. Liga React core.
09 - MSW - mockando a rede [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: MSW v2 (
http/HttpResponse/graphql),setupServer(node) vssetupWorker(browser), reuso entre Vitest/Playwright/Storybook. Liga Engenharia/Testes 05/07.
10 - Testando hooks e estado [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
renderHook,act,wrapperde context/provider, testar custom hooks e estado assíncrono.
11 - Snapshot testing [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
toMatchSnapshot/toMatchInlineSnapshot, atualização, quando usa e quando evita (snapshots frágeis). Liga Testes 13.
12 - Cobertura no ecossistema JS [substantivo]
- Fase: Adepto · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo:
--coverage, provider v8 vs istanbul, thresholds, o que coverage NÃO diz. Liga Testes 12.
13 - Playwright - E2E [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: locators, auto-wait,
expectweb-first, fixtures,projects(browsers), trace viewer, codegen.
14 - Playwright além do básico [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: component testing em browser real (experimental), interceptar rede,
storageState/auth, visual/screenshot testing.
15 - Playwright vs Cypress [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: o cenário E2E, arquitetura (multi-browser/processo vs in-browser), trade-offs, por que Playwright dominou; quando Cypress ainda cabe.
16 - Testes flaky em JS [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: causas em JS (waits arbitrários, ordem, timers, rede), auto-wait, retries, isolamento,
test.step, quarentena. Liga Testes 11.
17 - Testes na CI [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: matriz de browsers/node, sharding, cache de deps/browsers, reporters, Playwright na CI, artefatos (trace/screenshots). Liga Testes 15.
18 - Capstone - estratégia de testes de um app JS-TS production-grade [substantivo]
- Fase: Magus · Escrita: ✅ (2026-07-06) · Enriquecimento: ⬜ (M1)
- Escopo: juntar unit (Vitest) + componente (Testing Library) + integração (MSW) + E2E (Playwright) numa estratégia coerente; troféu de testes; espelha Testes 16 e Java/Testes 21. Capstone.
Fronteiras (o que NÃO duplicar)
- Teoria (pirâmide/doubles/TDD/design de caso/coverage-conceito/flaky-conceito) → Testes; aqui só o como fazer com a ferramenta.
- Ferramental Java → Testes (paralelo).
node:test/cenário de runners → Tooling 19.- React em si → React.
Próximos passos
- Semear 01→18 via
escrever-nota, fechando cada uma comverificar-nota. - Atualizar o ponteiro
[[Testes em JavaScript]]noEngenharia/Testes/indexpara resolver a este galho. - Ao completar, marcar no Roadmap (Onda B item 7 → feito) e rodar enriquecimento (M1).