| name | test-enforcement |
| description | Mandatory rule requiring a corresponding test file for every business logic file. |
🛡️ Sysacad Next - Test Enforcement
Para mantener la confiabilidad total y prevenir regresiones en el sistema académico, es OBLIGATORIO que cada archivo que contenga lógica de negocio (Services) o endpoints (Controllers) tenga su correspondiente archivo de prueba.
⚖️ Directrices
- Regla del Uno: Cada archivo
.java en service/ o controller/ DEBE tener un archivo coincidente Test.java en src/test/.
- Ubicación: Los archivos de prueba deben estar en
src/test/java/com/sysacad/backend/ replicando exactamente la estructura de paquetes del código fuente.
- Nombramiento: Si la clase es
MateriaService.java, el archivo de prueba DEBE ser MateriaServiceTest.java.
- Cobertura Máxima: El test DEBE cubrir la mayor cantidad de casos posibles. No basta con el camino feliz; se deben incluir todos los flujos alternativos, validaciones de errores, casos de borde y combinaciones de estados (ej. cupos agotados, correlativas no cumplidas, superposiciones horarias).
- Creación/Modificación Simultánea:
- Si se crea un Service o Controller, su Test DEBE crearse en el mismo paso.
- Si se modifica la lógica, el Test DEBE actualizarse simultáneamente para reflejar los cambios. Jamás dejes tests desactualizados.
📋 Ejemplos
Estructura Correcta
src/main/java/com/sysacad/backend/service/
└── MateriaService.java
src/test/java/com/sysacad/backend/service/
└── MateriaServiceTest.java
Estructura Incorrecta (Falta Test)
src/main/java/com/sysacad/backend/service/
└── MateriaService.java
(Error: Falta MateriaServiceTest.java en la carpeta de tests correspondiente)