1. Aperçu
- Partage d’une méthode de mise en place de tests unitaires selon l’approche Sociable Test (connexion à une vraie base de données)
- Les ORM comme TypeORM posent des problèmes de sûreté de type, d’où la nécessité de tests utilisant une vraie base de données
2. Solitary Test vs Sociable Test
- Comparaison
- Le Solitary Test remplace les dépendances par des mocks pour tester de manière isolée (rapide, mais peut diverger de l’environnement réel)
- Le Sociable Test vérifie avec de vraies dépendances externes (DB) afin d’améliorer la fiabilité (plus lent, mais permet de détecter tôt des problèmes réalistes)
- Limites du Solitary Test
- Le mocking ne permet pas de détecter parfaitement les problèmes d’interaction avec la vraie base de données
- Des erreurs d’exécution peuvent survenir en raison des problèmes de vérification de types de TypeORM
- Pourquoi le Sociable Test est nécessaire
- L’intégration avec une vraie base de données permet de valider les requêtes complexes, les transactions et les problèmes de configuration des relations
- En configurant une base de données de test, on peut effectuer des tests d’isolation des données via des transactions
- Avantages et points d’attention des DB Sociable Test
- Avantages : tests hautement fiables, détection précoce des problèmes liés à l’ORM, vérification des incohérences de schéma
- Points d’attention : ralentissement des tests, configuration d’environnement plus complexe, nécessité de gérer les transactions
3. Implémentation de tests connectés à la DB dans NestJS
- Configuration
- Mise en place de la connexion à une base de test MySQL
- Utilisation de transactions pour rollback les modifications de chaque test
- Exploitation du cycle de vie du framework de test Jest
- Utilisation de
beforeAll / beforeEach / afterEach / afterAll
- Initialisation de la DB et de la connexion, ainsi que configuration du démarrage et de la fin des transactions
4. Conclusion
- Lors de l’écriture de tests unitaires, il est utile de combiner de manière appropriée Solitary Test et Sociable Test
- Le Sociable Test peut grandement aider à prévenir les problèmes liés à l’ORM
Aucun commentaire pour le moment.