Skip to content
Vitest 3
Main Navigation Guide & APIConfigurationMode NavigateurAPI avancée
3.2.0
2.1.9
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

Introduction

Pourquoi Vitest

Démarrage

Fonctionnalités

Configuration de Vitest

API

Référence de l'API des Tests

Fonctions Mocks

vi

expect

expectTypeOf

assert

assertType

Guide

Interface en ligne de commande (CLI)

Filtrage des tests

Projets de Test

Rapporteurs

Couverture de code

Instantanés

Simulation

Parallélisme

Tests de type

Interface utilisateur de Vitest

Tests in-source

Contexte de test

Annotations de test

Environnement de Test

Étendre les Matchers

Intégrations IDE

Débogage

Erreurs courantes

Guide de migration

Migration vers Vitest 3.0

Migration depuis Jest

Performance

Analyse des performances des tests

Amélioration des performances

Mode Navigateur

API avancée

Comparaison avec d'autres exécuteurs de tests

Sur cette page

Parallélisme ​

Parallélisme des fichiers ​

Par défaut, Vitest exécute les fichiers de test en parallèle. Selon le pool spécifié, Vitest utilise un mécanisme différent pour paralléliser les fichiers de test :

  • forks (par défaut) et vmForks exécutent les tests dans différents processus enfants.
  • threads et vmThreads exécutent les tests dans différents threads de traitement.

Les "processus enfants" et les "threads de traitement" sont tous deux désignés par le terme "workers". Vous pouvez configurer le nombre de workers en cours d'exécution avec les options minWorkers et maxWorkers, ou de manière plus granulaire via la configuration poolOptions.

Si vous avez beaucoup de tests, il est généralement plus rapide de les exécuter en parallèle. Cependant, cela dépend aussi du projet, de l'environnement et de l'état d'isolement. Pour désactiver la parallélisation des fichiers, vous pouvez définir fileParallelism sur false. Pour en savoir plus sur les améliorations de performances possibles, consultez le Guide de performance.

Parallélisme des tests ​

Contrairement aux fichiers de test, Vitest exécute les tests en séquence. Cela signifie que les tests d'un même fichier de test s'exécuteront dans l'ordre de leur définition.

Vitest prend en charge l'option concurrent pour exécuter les tests de manière concurrente. Si cette option est définie, Vitest regroupera les tests concurrents dans le même fichier (le nombre de tests exécutés simultanément dépend de l'option maxConcurrency) et les exécutera avec Promise.all.

Vitest n'effectue aucune analyse intelligente et ne crée pas de workers supplémentaires pour l'exécution de ces tests. Cela signifie que les performances de vos tests ne s'amélioreront que si vous vous appuyez fortement sur des opérations asynchrones. Par exemple, ces tests s'exécuteront toujours l'un après l'autre même si l'option concurrent est spécifiée, car ils sont synchrones :

ts
test.concurrent('the first test', () => {
  expect(1).toBe(1);
});

test.concurrent('the second test', () => {
  expect(2).toBe(2);
});

Si vous souhaitez exécuter tous les tests de manière concurrente, vous pouvez définir l'option sequence.concurrent sur true.

Pager
Page précédenteSimulation
Page suivanteTests de type

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/parallelism

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team