Lección 20 de 24· M02

Hechas: 0/24(0%)

M02L20Semana 5~3 h

Ficha M02

L20 — Suite de tests (P3)

~3 h · Semana 5

Completas la práctica P3: ≥10 tests de lógica de dominio, sin tocar red ni disco real en la mayoría.

Objetivo

Cobertura de validación, parse, reportes y funciones sobre Habito[] — tests rápidos y deterministas.

Por qué importa

La evidencia P3 es binaria: npm test verde y conteo ≥10. La CLI (interfaz de línea de comandos) confiable se sostiene aquí.

Pasos

1. Inventario de funciones puras (20 min)

Lista en TESTING.md qué funciones merecen test (dominio, no main).

2. Ampliar suite (100 min)

Apunta a ≥10 tests totales, por ejemplo:

  • parseArgv (3+)
  • validarNombreHabito (3+)
  • formatearReporte / totalMarcados (4+)

Usa describe por módulo.

3. Casos borde (40 min)

Nombre vacío, JSON de reporte con items: [], hábito sin completados en stats futuro.

4. CI local (20 min)

Documenta en README: npm test antes de cada commit de features.

Lectura de esta lección

Fuente Qué leer
Vitest Matchers
Catálogo Bibliografía · M02

Hecho cuando

  1. npm test → ≥10 tests passing.
  2. TESTING.md o README explica qué cubre cada grupo.
  3. Listo para marcar P3 en la ficha con evidencia.

Errores comunes

  • Tests que leen habits.json real (frágiles).
  • Un solo test gigante.
  • No correr tests tras refactor L18.

Siguiente

L21 — CLI: dominio y persistencia

←→