Skip to content
Vitest 1
Main Navigation GuideAPIConfigurationAvancé
1.6.1
0.34.6

Français

English
简体中文
繁體中文
Español
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Français

English
简体中文
繁體中文
Español
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Apparence

Sidebar Navigation

Guide

Pourquoi Vitest

Premiers pas

Fonctionnalités

Espace de travail

Interface de ligne de commande

Filtrage des tests

Reporters

Couverture

Instantané (Snapshot)

Simulations

Tests de Type

Interface utilisateur de Vitest

Mode Navigateur

Tests intégrés au code source

Contexte de Test

Environnement de test

Extension des vérificateurs (Matchers)

Intégrations pour IDE

Débogage

Comparaison avec d'autres outils de test

Guide de migration

Erreurs courantes

Améliorer les performances

API

Référence de l'API de Test

Fonctions Mock

Vi

expect

expectTypeOf

assert

assertType

Configuration

Configuration du fichier Vitest

Configuration de Vitest

Sur cette page

Erreurs courantes ​

Impossible de trouver le module './chemin relatif' ​

Si vous rencontrez une erreur indiquant qu'un module est introuvable, plusieurs causes sont possibles :

    1. Chemin d'accès incorrect : Vérifiez attentivement l'orthographe et la validité du chemin d'accès au module.
    1. Dépendance de baseUrl dans tsconfig.json : Par défaut, Vite ignore le fichier tsconfig.json. Si votre projet utilise baseUrl pour la résolution des modules, vous devez installer et configurer vite-tsconfig-paths.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

Sinon, modifiez le chemin d'accès pour qu'il ne soit plus relatif à la racine du projet :

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Alias relatifs : Évitez d'utiliser des alias relatifs. Vite les interprète comme étant relatifs au fichier d'importation, et non à la racine du projet.
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

Impossible de simuler "./mocked-file.js" car il est déjà chargé ​

Cette erreur se produit lorsque la méthode vi.mock est appelée sur un module déjà chargé. Vitest génère cette erreur car cet appel n'a aucun effet, les modules mis en cache étant privilégiés.

N'oubliez pas que vi.mock est toujours remonté (hoisted) - cela signifie que le module a été chargé avant le début de l'exécution du fichier de test - très probablement dans un fichier de configuration (setup). Pour corriger l'erreur, supprimez l'import ou effacez le cache à la fin d'un fichier de configuration - sachez que le fichier de configuration et votre fichier de test feront alors référence à des modules différents.

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

Échec de l'arrêt du worker ​

Cette erreur peut se produire lorsque fetch de NodeJS est utilisé avec le paramètre par défaut pool: 'threads'. Ce problème est suivi dans le ticket Timeout abort can leave process(es) running in the background #3077.

Comme solution de contournement, vous pouvez passer à pool: 'forks' ou pool: 'vmForks'.

Spécifiez pool dans votre fichier de configuration :

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});

Ou dans vos scripts package.json :

diff
scripts: {
-  "test": "vitest"
+  "test": "vitest --pool=forks"
}
Pager
Page précédenteGuide de migration
Page suivanteAméliorer les performances

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/common-errors

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors