Files
Ricardo Monla cfd0e8452a [ADN] Fase 10: Saneamiento y Consolidación - Un solo punto de verdad
- S1: Eliminar 'triggers' duplicado en run (líneas 109/131)
- S2: Eliminar cli/commit.rb (truncado, sin uso)
- S3: Eliminar cli/inicio.rb y cli/cierre.rb (legacy, jornada.rb los reemplaza)
- S4: Mover 4 planes obsoletos de docs/plan/adn/ a docs/_hist/plan/adn/
- S5: Mover 14 backups de planes y 3 docs técnicos a docs/_hist/
- S6: Eliminar manifiesto vacío P2604_proyecto_p2604.md
- S7: Corregir referencia a plan obsoleto en run
- S8: Dejar de cargar core/validador.rb obsoleto en run
- S9: Limpiar progreso duplicado en P2604_mejoras_ADN.md
- Agregar Fase 10 al plan P2604 con 10 tareas
- Un solo punto de verdad: adn/README.md
- Un solo plan: docs/proy/p2604_mejoras_ADN/P2604_mejoras_ADN.md
- Registro en bitácora: evento 1073
2026-03-15 14:33:32 -03:00

1.6 KiB

Guía de Testing ADN

Cómo escribir tests para el sistema ADN

Estructura de Tests

adn/tools/
└── spec/
    ├── spec_helper.rb
    ├── db/
    │   └── evento_spec.rb
    └── core/
        ├── colores_spec.rb
        └── validador_spec.rb

Ejecutar Tests

cd adn/tools

# Todos los tests
bundle exec rspec

# Un archivo específico
bundle exec rspec spec/db/evento_spec.rb

# Con output detallado
bundle exec rspec --format documentation

Escribir un Test

# spec/core/mi_modulo_spec.rb

require_relative '../spec_helper'
$LOAD_PATH.unshift File.expand_path('../../core', __dir__)
require 'mi_modulo'

describe 'ADN::MiModulo' do
  describe '.metodo' do
    it 'hace algo esperado' do
      expect(resultado).to eq(valor_esperado)
    end

    it 'rechaza valor inválido' do
      expect { metodo(inválido) }.to raise_error(ADN::ValidationError)
    end
  end
end

Buenos Patrones

  1. Un describe por clase/módulo
  2. Un it por comportamiento
  3. Tests independientes (sin orden ni dependencias)
  4. Nombres descriptivos: it 'valida formato HH:MM'

Helpers Disponibles

  • expect(...).to eq(valor)
  • expect(...).to match(/regex/)
  • expect(...).to be true/false
  • expect { }.to raise_error(Error)

Cobertura

Módulo Tests
db/evento 3
core/colores 6
core/validador 6
Total 15

Próximos Tests

  • spec/core/error_handler_spec.rb
  • spec/core/help_formatter_spec.rb
  • spec/cli/db_spec.rb
  • spec/cli/jornada_spec.rb