Tests unitaires avec Vue.js

Par aaziz, 14 février, 2025

Comme vu dans le cours de Native 2 et 3, les tests unitaires sont très importants pour assurer le fonctionnement du code rédigé par les développeurs en vérifiant que chaque portion de code isolée fonctionne adéquatement. De plus, ils aident beaucoup pour assurer la maintenance du projet car ce dernier peut subir des changements avec le passage du temps et les tests unitaires assurent que les ajouts ne cassent pas le reste du projet.

Vue Test Utils offre une série de fonctions utilitaires pour :

  • Monter des composants en isolation.
  • Simuler des interactions utilisateur.
  • Tester les sorties rendues et les comportements attendus.

Vue Test Utils est souvent utilisée en conjonction avec des frameworks de tests tels que Jest, qui fournit un environnement de test complet avec des fonctionnalités comme les assertions, les simulations de fonctions et la surveillance des tests.

Pour intégrer Vue Test Utils et Jest dans un projet Vue.js, il faut suivre ces étapes-ci :

1- Installer les dépendances nécessaires :

npm install --save-dev @vue/test-utils jest

2- Configurer Jest :

Il faur créer un fichier jest.config.js à la racine du projet avec la configuration appropriée.

3- Écrire des tests :

Il faut créer un fichier de test, par exemple et utiliser Vue Test Utils pour monter le composant et effectuer des assertions.
Voici un exemple d'un test basique:

import { mount } from '@vue/test-utils'

// Le composant à tester
const MessageComponent = {
  template: '<p>{{ msg }}</p>',
  props: ['msg'],
};

test('affiche le message', () => {
  const wrapper = mount(MessageComponent, {
    props: {
      msg: 'Bonjour tout le monde',
    },
  });

  // Vérifier le texte rendu du composant
  expect(wrapper.text()).toContain('Bonjour tout le monde');
});

Dans ce test :

  • Le composant est monté avec la méthode mount() de Vue Test Utils.
  • Un prop contient la valeur: "Bonjour tout le monde".
  • expect(wrapper.text()).toContain(...) est utilisée pour vérifier que le message est bien affiché dans le DOM.

Éxecuter les tests unitaires

Pour éxecuter un test unitaire, il suffit simplement d'utiliser la commande suivante:
npx jest

Références

Commentaires2

yayad

il y a 1 mois 2 semaines

Salut Abdelhamid,

Merci pour cet article clair et précis sur les tests unitaires avec Vue.js ! L’explication et l’exemple sont très utiles pour bien comprendre Vue Test Utils et Jest. Un super partage !

nbergeron

il y a 1 mois 1 semaine

Je me demandais s'il était possible d'automatiser ces tests dans un pipeline cicd avec cet outil ?

Merci pour ta réponse et à bientôt !