Testing¶
Stratégie et exécution des tests.
Exécuter les Tests¶
Tous les Tests¶
Tests d'un Module¶
Test Spécifique¶
Méthode Spécifique¶
Coverage¶
Générer le Rapport¶
Rapport dans : target/site/jacoco/index.html
Objectif¶
- Target: >80% coverage
- Current: ~85% sur springflow-core
Structure des Tests¶
springflow-core/src/test/java/
├── io.springflow.core.scanner/
│ ├── EntityScannerTest.java
│ └── EntityScannerPerformanceTest.java
├── io.springflow.core.metadata/
│ └── MetadataResolverTest.java
├── io.springflow.core.mapper/
│ ├── EntityDtoMapperTest.java
│ ├── DtoMapperFactoryTest.java
│ └── CircularReferenceTest.java
├── io.springflow.core.filter/
│ ├── FilterResolverTest.java
│ └── NPlusOneQueryTest.java
└── ...
Types de Tests¶
Unit Tests¶
Tests des composants isolés :
@Test
void shouldScanEntities() {
List<Class<?>> entities = entityScanner.scan("io.springflow");
assertThat(entities).isNotEmpty();
}
Integration Tests¶
Tests avec Spring context :
@SpringBootTest
@DataJpaTest
class NPlusOneQueryTest {
@Autowired
private TestEntityManager entityManager;
@Test
void shouldAvoidNPlusOne() {
// Test with actual database
}
}