E2E Test
Testing 🟡 MidDefinition
Test de bout en bout qui simule le parcours reel d'un utilisateur a travers l'application complete (navigateur, API, BDD). Valide le systeme dans son ensemble.
Analogie
Comme un client mystere qui entre dans un restaurant, commande, mange et paye pour verifier toute l'experience.
Exemple de code
// checkout.spec.ts (Playwright)
test('user can complete checkout', async ({ page }) => {
await page.goto('/products');
await page.click('[data-testid="add-to-cart"]');
await page.click('[data-testid="checkout"]');
await page.fill('#email', 'test@mail.com');
await page.click('button:text("Pay")');
await expect(page.locator('.success')).toBeVisible();
});
Cas d'usage
Pour valider les parcours utilisateurs critiques (inscription, achat, paiement) avant chaque release.
Anti-pattern
Ecrire trop de tests E2E : ils sont lents et fragiles. Reserver aux flux critiques uniquement.