Skip to main content

C2.2.2 - Test Unitaires

Compétence : C2.2.2 – Développer un harnais de test unitaire en tenant compte des fonctionnalités demandées afin de prévenir les régressions et de s'assurer du bon fonctionnement du logiciel.

Vue d'ensemble

Statistiques du harnais

  • Framework : Jest + NestJS Testing Module
  • Tests totaux : 93 tests unitaires
  • Couverture : 58.52% statements, 54.33% fonctions
  • Modules testés : 9 modules avec isolation complète

Organisation

src/
├── auth/*.spec.ts # Tests authentification (25 tests)
├── user/*.spec.ts # Tests utilisateurs (27 tests)
├── massage/*.spec.ts # Tests catalogue (17 tests)
├── planning/*.spec.ts # Tests réservations (15 tests)
└── email/*.spec.ts # Tests notifications (9 tests)

Couverture par module

ModuleCouvertureTestsFocus
User82.14%27CRUD + validation
Auth73.17%25JWT + sécurité + guards
Massage69.44%17Catalogue + images
Planning54.54%15Réservations + conflits
Email82.35%9SMTP + templates

Intégration CI/CD

  • Tests automatiques sur chaque push / et merge sur master
  • Couverture minimale requise : 50%

Mocking et isolation

// Services mockés pour isolation
const mockPrismaService = {
user: { findUnique: jest.fn() },
booking: { create: jest.fn() }
};

jest.mock('bcryptjs', () => ({
compare: jest.fn(),
hash: jest.fn()
}));

Commandes de test

# Développement
npm run test # Tests unitaires
npm run test:watch # Mode watch

# Validation
npm run test:cov # Avec couverture

Conclusion

Conformité C2.2.2 : VALIDÉE

  • Harnais complet : 93 tests couvrant la majorité du code
  • Prévention régressions : Tests automatisés + CI/CD
  • Bon fonctionnement : Validation workflow + sécurité
  • Architecture robuste : Isolation + mocking + assertions complètes