Les tests unitaires avec mocks de base de données sont une source de fausses confiances. Seekube v3 impose un principe fort : jamais de mock de base de données. Tous les tests d'intégration tournent contre un vrai PostgreSQL.
testcontainers
Le setup global Jest démarre un conteneur PostgreSQL avant la suite de tests et le détruit après. Chaque test repart d'un état propre grâce à des transactions rollbackées ou à un truncate des tables.
testEm
testEm est un EntityManager MikroORM connecté au conteneur de test. Il est disponible globalement dans tous les fichiers .spec.ts via le setup global. Instanciez repository et use-case directement, sans NestJS TestingModule.
Couverture
Les seuils de couverture sont appliqués en CI : 70% de lignes, 60% de branches, 70% de fonctions. Chaque fichier use-case doit avoir un fichier spec correspondant — cette règle est vérifiée automatiquement.