Passer au contenu

Démarrage avec Vitest

Ce guide vous aidera à installer et configurer Vitest pour commencer à tester votre application.

Installation

Vitest fonctionne avec Vite et peut être installé dans n’importe quel projet JavaScript ou TypeScript.

Fenêtre de terminal
# avec npm
npm install -D vitest
# avec yarn
yarn add -D vitest
# avec pnpm
pnpm add -D vitest

Si vous utilisez TypeScript, vous devrez également installer @vitest/ui pour bénéficier de l’interface utilisateur:

Fenêtre de terminal
npm install -D @vitest/ui

Configuration de base

Créez ou modifiez votre fichier vite.config.js (ou vite.config.ts) à la racine de votre projet:

import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
// options de configuration de vitest
environment: 'node',
globals: true, // pour utiliser les fonctions expect, describe, etc. sans les importer
include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
},
})

Ajout des scripts dans package.json

Ajoutez les scripts suivants à votre fichier package.json:

{
"scripts": {
"test": "vitest",
"test:ui": "vitest --ui",
"test:run": "vitest run",
"coverage": "vitest run --coverage"
}
}

Créer votre premier test

Créez un fichier de test, par exemple src/sum.test.js:

src/sum.js
export function sum(a, b) {
return a + b
}
// src/sum.test.js
import { expect, test } from 'vitest'
import { sum } from './sum'
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3)
})

Exécution des tests

Vous pouvez maintenant exécuter vos tests:

Fenêtre de terminal
# Mode watch (par défaut)
npm test
# Mode UI
npm run test:ui
# Exécution unique sans mode watch
npm run test:run
# Avec rapport de couverture
npm run coverage

Prochaines étapes

Maintenant que vous avez configuré Vitest, vous pouvez explorer les fonctionnalités plus avancées comme:

  • L’écriture de tests avec les assertions
  • L’utilisation des mocks et des spies
  • L’intégration avec votre framework frontend (Vue, React, etc.)
  • La configuration avancée pour des projets plus complexes

Consultez les autres guides pour approfondir ces sujets.