A teljesítmény javítása
Alapértelmezés szerint a Vitest minden tesztfájlt egy elkülönített környezetben futtat a pool beállításnak megfelelően:
- A
threads
pool minden tesztfájlt egy különWorker
szálon futtat. - A
forks
pool minden tesztfájlt egy külön forkolt gyermekfolyamatban futtat. - A
vmThreads
pool minden tesztfájlt egy külön VM kontextusban futtat, de a párhuzamosság érdekében worker szálakat használ.
Ez jelentősen megnövelheti a tesztelési időt, ami nem feltétlenül előnyös olyan projektek számára, amelyek nem használnak mellékhatásokat, és megfelelően kezelik az állapotukat (ami gyakran igaz a node
környezetű projektekre). Ebben az esetben az elkülönítés letiltása javíthatja a tesztek sebességét. Ehhez megadhatja a --no-isolate
kapcsolót a CLI-ben, vagy a konfigurációs fájlban a test.isolate
tulajdonságot false
értékre állíthatja. Ha a poolMatchGlobs
használatával egyszerre több poolt használ, akkor egy adott poolra is letilthatja az elkülönítést.
vitest --no-isolate
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
isolate: false,
// you can also disable isolation only for specific pools
poolOptions: {
forks: {
isolate: false,
},
},
},
});
TIP
Ha a vmThreads
poolt használja, nem tilthatja le az elkülönítést. A tesztek teljesítményének javításához használja inkább a threads
poolt.
Bizonyos projektek esetében a gyorsabb indítás érdekében érdemes lehet letiltani a párhuzamosítást. Ehhez adja meg a --no-file-parallelism
kapcsolót a CLI-ben, vagy a konfigurációs fájlban a test.fileParallelism
tulajdonságot állítsa false
értékre.
vitest --no-file-parallelism
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
fileParallelism: false,
},
});