7 points par tothefullest08 2025-03-23 | Aucun commentaire pour le moment. | Partager sur WhatsApp

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.

Aucun commentaire pour le moment.