For the complete documentation index, see llms.txt. This page is also available as Markdown.

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-utils avec 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

  1. Écrire la suite de tests unitaires pour useTasks.ts et useTaskFilters.ts.

  2. Écrire des tests de composants pour TaskCard.vue, UserAvatar.vue et AppModal.vue.

  3. Lancer la couverture de code (npm run test:coverage) et viser un minimum de 80% de couverture sur la logique métier.

Last updated