Testing del dominio
DDD facilita tests que describen reglas de negocio con claridad.
Tests de entidades
txt
given order without lines
when confirm
then it failsEstos tests no necesitan base de datos ni HTTP.
Tests de value objects
txt
EmailAddress rejects invalid format
Money cannot have negative amount
DateRange requires end after startSon pequenos, rapidos y muy valiosos.
Tests de agregados
Prueban invariantes:
txt
confirmed order cannot be cancelled after shipping
published course requires at least one lesson
invoice cannot be paid twiceTests de casos de uso
Usan repositorios en memoria y gateways fake:
txt
given existing draft order
when confirm order use case runs
then order is saved as confirmed
and OrderConfirmed is publishedTests de eventos
Comprueban:
- Evento emitido.
- Datos correctos.
- Idempotencia del consumidor.
- Version del contrato.
Checklist
- Los tests usan lenguaje de negocio.
- Las reglas criticas estan cubiertas.
- Los tests de dominio son rapidos.
- Los casos de uso usan fakes simples.
- Los eventos publicados se verifican.
