Tests Spring Boot : unitaires et intégration avec JUnit, Mockito, Testcontainers
Tests unitaires et d’intégration avec JUnit 5, Mockito et Testcontainers : une stratégie de tests fiable pour vos applications Spring Boot.
Introduction
Les tests Spring Boot combinent tests unitaires rapides et tests d’intégration au plus près de la production. Une application professionnelle doit être testée en profondeur. Spring Boot fournit un écosystème complet pour tester les couches web, services, persistence, sécurité et intégration.
Avec TestContainers, vos tests s’exécutent contre de vraies bases Docker : PostgreSQL, Kafka, Redis, MongoDB… C’est la norme moderne dans les équipes matures et les pipelines CI/CD fiables.
Lexique essentiel
JUnit 5
Moteur de test moderne utilisé avec Spring Boot.
MockMvc
Test d’API REST sans serveur externe.
@SpringBootTest
Démarre tout le contexte Spring pour les tests d’intégration.
@DataJpaTest
Test spécialisé pour la couche JPA/Hibernate.
TestContainers
Isolation complète via des bases Docker démarrées automatiquement.
Embedded Databases
H2 pour les tests rapides (mais limité pour les projets entreprise).
1. Tests Unitaires : Services & logique métier
Les tests unitaires doivent être purs, rapides, et ne pas dépendre de Spring.
Exemple
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class PriceCalculatorTest {
@Test
void shouldCalculateTotalPrice() {
var calc = new PriceCalculator();
assertEquals(200, calc.total(100, 2));
}
}
👉 Aucun Spring, aucune base → tests ultra rapides.
La suite de cette leçon est réservée aux abonnés
Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.
Déjà abonné ? Se connecter
