Tests Angular, performance et CI/CD en production
Objectif : industrialiser votre application Angular avec des tests robustes, une optimisation avancée des performances, et une pipeline GitLab CI/CD prête…
1. Tests Unitaires & Tests d’Intégration
Les tests Angular sont la dernière barrière avant la mise en production. Les tests constituent l’étape finale avant la livraison. Ils permettent de garantir qu’aucune régression ne se glisse dans votre code. Dans Angular, la qualité des tests influence directement la stabilité de l'application en production.
- Vitest → jusqu’à 90% plus rapide que Jasmine/Karma.
- TestBed → pour isoler les services et composants.
- HttpTestingController → indispensable pour mocker les appels API.
- Cypress → tests E2E réalistes : parcours utilisateur, formulaires, navigation.
- Mock Providers → éviter les dépendances réelles en test.
Patterns appliqués
Test Pyramid, Arrange → Act → Assert, Mocking & Isolation.
Exemple — Test de service avec mock API
// Setup : TestBed.configureTestingModule({ providers: [provideHttpClient(), provideHttpClientTesting()] })
// service = TestBed.inject(ProductService); http = TestBed.inject(HttpTestingController);
afterEach(() => http.verify()); // aucune requête inattendue
it('should fetch products (service)', () => {
const mock = [{ id: 1, name: 'Laptop', price: 1200 }];
let result: unknown;
service.getAll().subscribe(res => (result = res));
const req = http.expectOne('/api/products');
req.flush(mock); // HttpTestingController est synchrone : pas besoin de fakeAsync/tick
expect(result).toEqual(mock);
});
La suite de cette leçon est réservée aux abonnés
Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.
Déjà abonné ? Se connecter
