Zvýšení výkonu
Ve výchozím nastavení Vitest spouští každý testovací soubor v izolovaném prostředí na základě nastavení pool:
threads
pool spouští každý testovací soubor v samostatném vlákně pomocíWorker
.forks
pool spouští každý testovací soubor v samostatném procesu vytvořeném pomocí forku (forked child process).vmThreads
pool spouští každý testovací soubor v samostatném VM kontextu, ale pro paralelismus využívá pracovní vlákna.
Tato izolace může prodloužit dobu trvání testů. To nemusí být žádoucí pro projekty, které se nespoléhají na vedlejší účinky a správně uklízejí svůj stav po každém testu. To je typické pro projekty s prostředím node
. V takovém případě deaktivace izolace urychlí vaše testy. Můžete to provést pomocí přepínače --no-isolate
v CLI nebo nastavením vlastnosti test.isolate
v konfiguraci na false
. Pokud používáte více poolů současně s poolMatchGlobs
, můžete také deaktivovat izolaci pro konkrétní pool.
vitest --no-isolate
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
isolate: false,
// izolaci můžete také deaktivovat pouze pro konkrétní pools
poolOptions: {
forks: {
isolate: false,
},
},
},
});
TIP
Pokud používáte vmThreads
pool, nemůžete izolaci deaktivovat. Pro zlepšení výkonu testů použijte místo toho threads
pool.
Pro některé projekty může být také výhodné deaktivovat paralelní spouštění souborů, aby se zkrátila celková doba spuštění testů. Pro to použijte přepínač --no-file-parallelism
v CLI nebo nastavte vlastnost test.fileParallelism
v konfiguraci na false
.
vitest --no-file-parallelism
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
fileParallelism: false,
},
});