Tabla de Contenidos

02 - Verificación de la estructura modular

Spring Modulith permite comprobar que la organización del código respeta los límites y dependencias previstos entre módulos.

1. Reglas verificadas

La verificación detecta principalmente:

Se puede ejecutar durante una prueba:

@Test
void moduleStructureIsValid() {
    ApplicationModules.of(Application.class).verify();
}

Si se detecta una infracción, verify() lanza una excepción. Para inspeccionar o filtrar las infracciones antes de fallar, se puede usar detectViolations():

ApplicationModules.of(Application.class)
        .detectViolations()
        .filter(violation -> /* criterio */ true)
        .throwIfPresent();

2. Personalizar las reglas

verify() y detectViolations() aceptan VerificationOptions para incorporar reglas adicionales o ajustar las comprobaciones automáticas. Spring Modulith también puede integrar reglas de jMolecules ArchUnit cuando la biblioteca está presente.

La idea es automatizar las restricciones arquitectónicas en pruebas para detectar dependencias indebidas al modificar el código.

Referencia