77. Présentation des tests End-to-End (E2E)
Alors que les tests unitaires vérifient des morceaux de code, les tests End-to-End (E2E) vérifient tout le flux de l'application du point de vue de l'utilisateur, en simulant des interactions réelles dans un navigateur.
Rôle des tests E2E
Ils vérifient l'intégration entre le front-end Angular, le navigateur et l'API backend.
Ce que les tests E2E vérifient :
- L'utilisateur peut-il se connecter ?
- Le clic sur un bouton déclenche-t-il le bon appel API et met-il à jour l'UI ?
- La validation des formulaires fonctionne-t-elle dans le navigateur ?
- La navigation entre les pages fonctionne-t-elle ?
Outils E2E courants
- Cypress : Excellent pour la vitesse et l'expérience développeur.
- Playwright : Supporte plusieurs moteurs de rendu, idéal pour les tests multi-navigateurs.
Structure d'un test E2E (Exemple conceptuel avec Cypress)
javascript describe('Flux de connexion', () => { it('devrait permettre à un utilisateur de se connecter', () => { cy.visit('/login'); cy.get('#username').type('testuser'); cy.get('#password').type('password123'); cy.get('button[type="submit"]').click(); cy.url().should('include', '/dashboard'); cy.get('.welcome-message').should('contain', 'Bonjour, testuser'); }); });
Le test E2E est le filet de sécurité final garantissant que toutes les parties de l'application fonctionnent ensemble.