createTestingModule
NestJS 🟡 MidDéfinition
Méthode de Test.createTestingModule qui crée un module NestJS isole pour les tests. Permet de mocker les dépendances via overrideProvider.
Analogie
Comme un simulateur de vol : tu recrees l'environnement complet mais en mode test.
Exemple de code
const module = await Test.createTestingModule({
providers: [UserService,
{ provide: UserRepository, useValue: mockRepo }],
}).compile();
const service = module.get<UserService>(UserService);
expect(await service.findAll()).toEqual([]);
Cas d'usage
Écrire des tests unitaires et d'intégration pour les services NestJS avec des mocks.
Anti-pattern
Termes liés
En entretien
Explique-moi à quoi sert Test.createTestingModule.
Ça crée un module NestJS isolé pour les tests, avec la possibilité de mocker les dépendances via overrideProvider, comme un simulateur de vol qui recrée l'environnement complet mais en mode test. On récupère ensuite le service testé via module.get() en gardant l'injection de dépendances intacte.
Pourquoi ne pas juste instancier le service avec new dans un test unitaire ?
Parce que c'est l'anti-pattern décrit : instancier manuellement avec new fait perdre toute la mécanique de DI et oblige à fournir toutes les dépendances à la main. Passer par TestingModule permet de mocker proprement chaque dépendance comme un repository.
Fiche mise à jour le 2026-09-27