Skip to content
Vitest 3
Main Navigation Guida & APIConfigurazioneModalità BrowserAPI avanzata
3.2.0
2.1.9
1.6.1
0.34.6

Italiano

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

Italiano

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

Aspetto

Sidebar Navigation

Introduzione

Perché Vitest

Per Iniziare

Caratteristiche

Configurazione di Vitest

API

Riferimento API di test

Funzioni Mock

Vi

expect

expectTypeOf

assert

assertType

Guida

Interfaccia a Riga di Comando

Filtro dei Test

Progetti di Test

Reporter

Copertura

Snapshot

Mocking

Parallelismo

Tipi di Test

Vitest UI

Test nel Codice Sorgente

Contesto di Test

Annotazioni dei Test

Ambiente di Test

Estensione dei Matcher

Integrazioni IDE

Debugging

Errori Comuni

Guida alla Migrazione

Migrazione a Vitest 3.0

Migrazione da Jest

Prestazioni

Profilazione delle prestazioni dei test

Ottimizzare le Prestazioni

Modalità Browser

API Avanzate

Confronto con Altri Test Runner

In questa pagina

Parallelismo ​

Parallelismo dei file ​

Per impostazione predefinita, Vitest esegue i file di test in parallelo. A seconda del pool specificato, Vitest utilizza un meccanismo diverso per parallelizzare i file di test:

  • forks (il predefinito) e vmForks eseguono i test in diversi processi figli.
  • threads e vmThreads eseguono i test in diversi thread di lavoro.

Sia i "processi figli" che i "thread di lavoro" sono indicati come "worker". È possibile configurare il numero di worker in esecuzione con le opzioni minWorkers e maxWorkers, oppure in modo più dettagliato con la configurazione poolOptions.

Se si hanno molti test, di solito è più veloce eseguirli in parallelo, ma le prestazioni dipendono anche dal progetto, dall'ambiente e dallo stato di isolamento. Per disabilitare la parallelizzazione dei file, è possibile impostare fileParallelism su false. Per saperne di più sui possibili miglioramenti delle prestazioni, consultare la Guida alle prestazioni.

Parallelismo dei test ​

A differenza dei file di test, Vitest esegue i test in sequenza. Questo significa che i test all'interno di un singolo file di test verranno eseguiti nell'ordine in cui sono stati definiti.

Vitest supporta l'opzione concurrent per eseguire i test in parallelo. Se questa opzione è impostata, Vitest raggrupperà i test da eseguire in parallelo nello stesso file (il numero di test eseguiti contemporaneamente dipende dall'opzione maxConcurrency) e li eseguirà con Promise.all.

Vitest non esegue alcuna analisi intelligente né crea worker aggiuntivi per eseguire questi test. Ciò significa che le prestazioni dei test miglioreranno solo se si fa un uso intensivo di operazioni asincrone. Ad esempio, i seguenti test verranno comunque eseguiti uno dopo l'altro anche se l'opzione concurrent è specificata, poiché sono sincroni:

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

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

Se si desidera eseguire tutti i test in parallelo, è possibile impostare l'opzione sequence.concurrent su true.

Pager
Pagina precedenteMocking
Pagina successivaTipi di Test

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/parallelism

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team