성능 향상
Vitest는 기본적으로 풀을 사용하여 격리된 환경에서 모든 테스트 파일을 실행합니다.
threads
풀은 각 테스트 파일을 별도의Worker
에서 실행합니다.forks
풀은 각 테스트 파일을 별도의 포크된 자식 프로세스에서 실행합니다.vmThreads
풀은 각 테스트 파일을 별도의 VM 컨텍스트에서 실행하지만, 병렬 처리를 위해 워커를 사용합니다.
이러한 격리된 환경은 테스트 시간을 늘릴 수 있습니다. 특히 부작용에 의존하지 않고 상태를 적절히 정리하는 프로젝트(일반적으로 node
환경의 프로젝트)에서는 격리가 불필요할 수 있습니다. 이 경우 격리를 해제하면 테스트 속도를 향상시킬 수 있습니다. CLI에서 --no-isolate
플래그를 사용하거나, 설정 파일에서 test.isolate
속성을 false
로 설정하여 격리를 해제할 수 있습니다. poolMatchGlobs
를 사용하여 여러 풀을 함께 사용하는 경우, 특정 풀에 대해서만 격리를 비활성화할 수도 있습니다.
bash
vitest --no-isolate
ts
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
vmThreads
풀을 사용하는 경우에는 격리를 비활성화할 수 없습니다. 대신 threads
풀을 사용하여 테스트 성능을 향상시키는 것을 고려해 보세요.
일부 프로젝트에서는 초기 시작 속도를 높이기 위해 병렬 처리를 비활성화하는 것이 유용할 수 있습니다. CLI에 --no-file-parallelism
플래그를 추가하거나, 구성 파일에서 test.fileParallelism
속성을 false
로 설정하여 병렬 처리를 비활성화할 수 있습니다.
bash
vitest --no-file-parallelism
ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
fileParallelism: false,
},
});