Séance 13 : Tests Front Unitaires & d'Intégration (Vitest)
🎯 Objectifs de la séance
Comprendre la pyramide des tests et la stratégie de test dans une application Nuxt 4 / Vue 3.
Configurer et utiliser Vitest et
@vue/test-utilsavec support natif de TypeScript.Écrire des tests unitaires ciblés sur la logique critique : Composables (
useTasks), Stores Pinia (useTaskStore), Fonctions utilitaires et Composants UI.Maîtriser le Mocking (simuler des appels d'API, des timers ou des routeurs).
Mesurer et analyser la couverture de code (Code Coverage).
🧪 1. Pourquoi et Que Tester en Front-End ?
Tester n'est pas "vérifier que le bouton est bleu". Tester consiste à sécuriser la logique métier critique contre les régressions futures.
▲
/ \ Tests E2E (Playwright / Cypress)
/ \ -> Parcours utilisateur complets
/─────\
/ Tests \ Tests d'intégration (Vitest + Vue Test Utils)
/ Intégr. \ -> Interactions entre composants et stores
/───────────\
/ Tests \ Tests unitaires (Vitest)
/ Unitaires \ -> Composables, Stores Pinia, Fonctions pures
/─────────────────\⚙️ 2. Configuration de Vitest dans Nuxt
Configuration vitest.config.ts
📝 3. Exemples Pratiques de Tests Unitaires
A. Tester un Composable Métier (useTasks.spec.ts)
B. Tester un Composant UI (TaskCard.spec.ts)
🛠️ 4. Travaux Pratiques
Écrire la suite de tests unitaires pour
useTasks.tsetuseTaskFilters.ts.Écrire des tests de composants pour
TaskCard.vue,UserAvatar.vueetAppModal.vue.Lancer la couverture de code (
npm run test:coverage) et viser un minimum de 80% de couverture sur la logique métier.
Last updated