명령줄 인터페이스
명령
vitest
현재 디렉터리에서 Vitest를 시작합니다. 개발 환경에서는 자동으로 watch 모드로 전환되며, CI 환경에서는 run 모드로 자동 실행됩니다.
실행할 테스트 파일의 필터로 추가 인수를 전달할 수 있습니다. 예를 들어:
vitest foobar
이 경우 경로에 foobar
를 포함하는 테스트 파일만 실행됩니다. 이 필터는 포함 여부만 확인하며, 정규식이나 glob 패턴은 지원하지 않습니다 (Vitest가 필터를 처리하기 전에 터미널이 이를 처리하는 경우는 예외).
vitest run
watch 모드 없이 단일 테스트 실행을 수행합니다.
vitest watch
모든 테스트 스위트를 실행하고 변경 사항을 감시하며, 변경 시 테스트를 다시 실행합니다. 인자 없이 vitest
를 호출하는 것과 동일합니다. CI 환경에서는 vitest run
으로 대체됩니다.
vitest dev
vitest watch
의 별칭입니다.
vitest related
지정된 소스 파일 목록과 관련된 테스트만 실행합니다. 정적 임포트(예: import('./index.js')
또는 import index from './index.js')는 지원되지만, 동적 임포트(예:
import(filepath)`)는 지원하지 않습니다. 모든 파일 경로는 루트 폴더를 기준으로 한 상대 경로여야 합니다.
lint-staged
또는 CI 설정과 함께 사용하기에 유용합니다.
vitest related /src/index.ts /src/hello-world.js
TIP
Vitest는 기본적으로 watch 모드로 실행된다는 점을 기억하세요. lint-staged
와 같은 도구를 사용하는 경우, 명령이 정상적으로 종료될 수 있도록 --run
옵션도 함께 전달해야 합니다.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
성능 결과를 비교하는 벤치마크 테스트만 실행합니다.
vitest init
vitest init <name>
명령은 프로젝트 구성을 설정하는 데 사용될 수 있습니다. 현재는 browser
값만 지원합니다:
vitest init browser
vitest list
vitest list
명령은 일치하는 모든 테스트 목록을 출력하기 위해 모든 vitest
옵션을 상속합니다. 이 명령은 reporters
옵션을 무시합니다. 기본적으로 파일 필터 및 이름 패턴과 일치하는 모든 테스트의 이름을 출력합니다.
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
JSON 형식으로 테스트를 출력하거나 별도의 파일에 저장하려면 --json
플래그를 전달할 수 있습니다:
vitest list filename.spec.ts -t="some-test" --json=./file.json
--json
플래그가 값을 받지 않으면 JSON을 stdout으로 출력합니다.
테스트 파일만 출력하려면 --filesOnly
플래그를 전달할 수도 있습니다:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
옵션
TIP
Vitest는 CLI 인수에 대해 카멜 케이스와 케밥 케이스를 모두 지원합니다. 예를 들어, --passWithNoTests
와 --pass-with-no-tests
는 모두 작동합니다 (--no-color
와 --inspect-brk
는 예외입니다).
Vitest는 값을 지정하는 다양한 방법도 지원합니다: --reporter dot
과 --reporter=dot
은 모두 유효합니다.
옵션이 값의 배열을 지원하는 경우, 옵션을 여러 번 전달해야 합니다:
vitest --reporter=dot --reporter=default
부울 옵션은 no-
접두사로 부정할 수 있습니다. 값을 false
로 지정하는 것도 작동합니다:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
프로젝트의 루트 경로를 지정합니다.
config
- CLI:
-c, --config <path>
설정 파일의 경로를 지정합니다.
update
- CLI:
-u, --update
- Config: update
스냅샷을 업데이트합니다.
watch
- CLI:
-w, --watch
- Config: watch
감시 모드를 활성화합니다.
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
지정된 정규식 패턴과 일치하는 전체 이름을 가진 테스트만 실행합니다.
dir
- CLI:
--dir <path>
- Config: dir
테스트 파일을 스캔할 기본 디렉토리를 지정합니다.
ui
- CLI:
--ui
- Config: ui
Vitest UI를 활성화합니다.
open
- CLI:
--open
- Config: open
UI를 자동으로 엽니다 (기본값: !process.env.CI
).
api.port
- CLI:
--api.port [port]
서버 포트를 지정합니다. 포트가 이미 사용 중인 경우 Vite는 자동으로 다음 사용 가능한 포트를 시도하므로, 실제 서버가 사용하는 포트와 다를 수 있습니다. 포트가 지정되지 않거나 true
로 설정된 경우 51204
로 설정됩니다.
api.host
- CLI:
--api.host [host]
서버가 수신할 IP 주소를 지정합니다. LAN 및 공용 주소를 포함한 모든 주소에서 수신하려면 이 값을 0.0.0.0
또는 true
로 설정하십시오.
api.strictPort
- CLI:
--api.strictPort
포트가 이미 사용 중일 때 다음 사용 가능한 포트를 자동으로 시도하는 대신 종료하려면 true
로 설정하십시오.
silent
- CLI:
--silent
- Config: silent
테스트 실행 중 콘솔 출력을 숨깁니다.
hideSkippedTests
- CLI:
--hideSkippedTests
건너뛴 테스트에 대한 로그를 숨깁니다.
reporters
- CLI:
--reporter <name>
- Config: reporters
사용할 리포터를 지정합니다.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
지원되는 리포터가 지정된 경우 테스트 결과를 파일에 작성합니다. 여러 리포터의 개별 출력을 위해서는 cac의 점 표기법을 사용하십시오 (예: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
테스트되지 않은 파일을 포함한 모든 파일을 커버리지 보고서에 포함할지 여부를 지정합니다.
coverage.provider
- CLI:
--coverage.provider <name>
- Config: coverage.provider
커버리지 수집 도구를 선택합니다. 지원되는 값은 "v8", "istanbul", "custom"입니다.
coverage.enabled
- CLI:
--coverage.enabled
- Config: coverage.enabled
커버리지 수집을 활성화합니다. --coverage
CLI 옵션을 사용하여 이 설정을 재정의할 수 있습니다 (기본값: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
glob 패턴으로 커버리지에 포함될 파일을 지정합니다. 여러 패턴을 사용할 때 두 번 이상 지정할 수 있습니다 (기본값: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
커버리지에서 제외될 파일을 지정합니다. 여러 패턴을 사용할 때 두 번 이상 지정할 수 있습니다 (기본값: coverage.exclude
를 참조하십시오).
coverage.extension
- CLI:
--coverage.extension <extension>
- Config: coverage.extension
커버리지에 포함될 파일 확장자를 지정합니다. 여러 확장자를 지정할 때 두 번 이상 사용할 수 있습니다 (기본값: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Config: coverage.clean
테스트 실행 전에 커버리지 결과를 정리합니다 (기본값: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Config: coverage.cleanOnRerun
감시 모드에서 재실행 시 커버리지 보고서를 정리합니다 (기본값: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Config: coverage.reportsDirectory
커버리지 보고서를 작성할 디렉토리를 지정합니다 (기본값: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Config: coverage.reporter
사용할 커버리지 리포터를 지정합니다. 자세한 내용은 coverage.reporter
을 참조하십시오 (기본값: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Config: coverage.reportOnFailure
테스트 실패 시에도 커버리지 보고서를 생성합니다 (기본값: false
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Config: coverage.allowExternal
프로젝트 루트 외부 파일의 커버리지를 수집합니다 (기본값: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Config: coverage.skipFull
100% 구문, 분기 및 함수 커버리지를 가진 파일을 표시하지 않습니다 (기본값: false
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Config: coverage.thresholds.100
모든 커버리지 임계값을 100으로 설정하는 단축키입니다 (기본값: false
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Config: coverage.thresholds.perFile
파일별 임계값을 확인합니다. 실제 임계값은 --coverage.thresholds.lines
, --coverage.thresholds.functions
, --coverage.thresholds.branches
및 --coverage.thresholds.statements
를 참조하십시오 (기본값: false
).
coverage.thresholds.autoUpdate
- CLI:
--coverage.thresholds.autoUpdate
- Config: coverage.thresholds.autoUpdate
현재 커버리지가 구성된 임계값보다 높을 때 "lines", "functions", "branches", "statements" 임계값 값을 구성 파일로 업데이트합니다 (기본값: false
).
coverage.thresholds.lines
- CLI:
--coverage.thresholds.lines <number>
라인 커버리지에 대한 임계값입니다. 자세한 내용은 istanbuljs를 참조하십시오. 이 옵션은 사용자 지정 공급자에서는 사용할 수 없습니다.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <number>
함수 커버리지에 대한 임계값입니다. 자세한 내용은 istanbuljs를 참조하십시오. 이 옵션은 사용자 지정 공급자에서는 사용할 수 없습니다.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <number>
분기 커버리지에 대한 임계값입니다. 자세한 내용은 istanbuljs를 참조하십시오. 이 옵션은 사용자 지정 공급자에서는 사용할 수 없습니다.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <number>
구문 커버리지에 대한 임계값입니다. 자세한 내용은 istanbuljs를 참조하십시오. 이 옵션은 사용자 지정 공급자에서는 사용할 수 없습니다.
coverage.ignoreClassMethods
- CLI:
--coverage.ignoreClassMethods <name>
- Config: coverage.ignoreClassMethods
커버리지에서 무시할 클래스 메서드 이름 배열입니다. 자세한 내용은 istanbuljs를 참조하십시오. 이 옵션은 Istanbul 공급자에게만 사용할 수 있습니다 (기본값: []
).
coverage.processingConcurrency
- CLI:
--coverage.processingConcurrency <number>
- Config: coverage.processingConcurrency
커버리지 결과를 처리할 때 사용되는 동시성 제한입니다 (기본값: 20과 CPU 수 중 더 작은 값).
coverage.customProviderModule
- CLI:
--coverage.customProviderModule <path>
- Config: coverage.customProviderModule
사용자 지정 커버리지 공급자 모듈의 모듈 이름 또는 경로를 지정합니다. 자세한 내용은 Custom Coverage Provider를 참조하십시오. 이 옵션은 사용자 지정 공급자에게만 사용할 수 있습니다.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <watermarks>
<high>,<low>
형식의 구문 커버리지에 대한 상한 및 하한 기준치입니다.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
<high>,<low>
형식의 라인 커버리지에 대한 상한 및 하한 기준치입니다.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
<high>,<low>
형식의 분기 커버리지에 대한 상한 및 하한 기준치입니다.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
<high>,<low>
형식의 함수 커버리지에 대한 상한 및 하한 기준치입니다.
mode
- CLI:
--mode <name>
- Config: mode
Vite 모드를 재정의합니다 (기본값: test
또는 benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
워크스페이스 설정 파일 경로입니다.
isolate
- CLI:
--isolate
- Config: isolate
모든 테스트 파일을 격리하여 실행합니다. 격리를 비활성화하려면 --no-isolate
을 사용합니다 (기본값: true
).
globals
- CLI:
--globals
- Config: globals
Vitest API를 전역으로 주입합니다.
dom
- CLI:
--dom
happy-dom을 사용하여 브라우저 API를 모킹합니다.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
브라우저에서 테스트를 실행합니다 (기본값: false
).
browser.name
- CLI:
--browser.name <name>
- Config: browser.name
모든 테스트를 특정 브라우저에서 실행합니다. 일부 브라우저는 특정 공급자에게만 사용할 수 있습니다 (--browser.provider
참조). 자세한 내용은 browser.name
을 참조하십시오.
browser.headless
- CLI:
--browser.headless
- Config: browser.headless
브라우저를 헤드리스 모드(GUI 없이 실행)로 실행합니다. CI 환경에서 Vitest를 실행하는 경우 기본적으로 활성화됩니다 (기본값: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Config: browser.api.port
서버 포트를 지정합니다. 포트가 이미 사용 중인 경우 Vite는 자동으로 다음 사용 가능한 포트를 시도하므로, 실제 서버가 수신하는 포트가 아닐 수 있습니다. 포트가 지정되지 않거나 true
로 설정된 경우 63315
로 설정됩니다.
browser.api.host
- CLI:
--browser.api.host [host]
- Config: browser.api.host
서버가 수신할 IP 주소를 지정합니다. LAN 및 공용 주소를 포함한 모든 주소에서 수신하려면 이 값을 0.0.0.0
또는 true
로 설정하십시오.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Config: browser.api.strictPort
포트가 이미 사용 중일 때 다음 사용 가능한 포트를 자동으로 시도하는 대신 종료하려면 true
로 설정하십시오.
browser.provider
- CLI:
--browser.provider <name>
- Config: browser.provider
브라우저 테스트를 실행하는 데 사용되는 공급자입니다. 일부 브라우저는 특정 공급자에게만 사용할 수 있습니다. "webdriverio", "playwright", "preview" 또는 사용자 지정 공급자의 경로가 될 수 있습니다. 자세한 내용은 browser.provider
를 참조하십시오 (기본값: "preview"
).
browser.providerOptions
- CLI:
--browser.providerOptions <options>
- Config: browser.providerOptions
브라우저 공급자에게 전달되는 옵션입니다. 자세한 내용은 browser.providerOptions
를 참조하십시오.
browser.isolate
- CLI:
--browser.isolate
- Config: browser.isolate
모든 브라우저 테스트 파일을 격리하여 실행합니다. 격리를 비활성화하려면 --browser.isolate=false
를 사용합니다 (기본값: true
).
browser.ui
- CLI:
--browser.ui
- Config: browser.ui
테스트 실행 시 Vitest UI를 표시합니다 (기본값: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
브라우저 테스트 파일을 병렬로 실행할지 여부입니다. 비활성화하려면 --browser.fileParallelism=false
를 사용하십시오 (기본값: true
).
pool
- CLI:
--pool <pool>
- Config: pool
브라우저에서 실행하지 않는 경우 사용할 풀을 지정합니다 (기본값: threads
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Config: poolOptions.threads.isolate
스레드 풀에서 테스트를 격리합니다 (기본값: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Config: poolOptions.threads.singleThread
단일 스레드 내에서 테스트를 실행합니다 (기본값: false
).
poolOptions.threads.maxThreads
- CLI:
--poolOptions.threads.maxThreads <workers>
- Config: poolOptions.threads.maxThreads
테스트를 실행할 최대 스레드 수 또는 비율입니다.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Config: poolOptions.threads.minThreads
테스트를 실행할 최소 스레드 수 또는 비율입니다.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Config: poolOptions.threads.useAtomics
스레드 동기화에 Atomics를 사용합니다. 경우에 따라 성능을 향상시킬 수 있지만, 이전 Node 버전에서는 세그멘테이션 오류를 일으킬 수 있습니다 (기본값: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Config: poolOptions.vmThreads.isolate
VM 스레드 풀에서 테스트를 격리합니다 (기본값: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Config: poolOptions.vmThreads.singleThread
단일 VM 스레드 내에서 테스트를 실행합니다 (기본값: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Config: poolOptions.vmThreads.maxThreads
테스트를 실행할 최대 VM 스레드 수 또는 비율입니다.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
테스트를 실행할 최소 VM 스레드 수 또는 비율입니다.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Config: poolOptions.vmThreads.useAtomics
VM 스레드 동기화에 Atomics를 사용합니다. 경우에 따라 성능을 향상시킬 수 있지만, 이전 Node 버전에서는 세그멘테이션 오류를 일으킬 수 있습니다 (기본값: false
).
poolOptions.vmThreads.memoryLimit
- CLI:
--poolOptions.vmThreads.memoryLimit <limit>
- Config: poolOptions.vmThreads.memoryLimit
VM 스레드 풀의 메모리 제한입니다. 메모리 누수가 발생하면 이 값을 조정해 보세요.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Config: poolOptions.forks.isolate
포크 풀에서 테스트를 격리합니다 (기본값: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Config: poolOptions.forks.singleFork
단일 child_process 내에서 테스트를 실행합니다 (기본값: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <workers>
- Config: poolOptions.forks.maxForks
테스트를 실행할 최대 프로세스 수 또는 비율입니다.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <workers>
- Config: poolOptions.forks.minForks
테스트를 실행할 최소 프로세스 수 또는 비율입니다.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Config: poolOptions.vmForks.isolate
VM 포크 풀에서 테스트를 격리합니다 (기본값: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Config: poolOptions.vmForks.singleFork
단일 child_process 내에서 테스트를 실행합니다 (기본값: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Config: poolOptions.vmForks.maxForks
테스트를 실행할 최대 VM 프로세스 수 또는 비율입니다.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
테스트를 실행할 최소 VM 프로세스 수 또는 비율입니다.
poolOptions.vmForks.memoryLimit
- CLI:
--poolOptions.vmForks.memoryLimit <limit>
- Config: poolOptions.vmForks.memoryLimit
VM 포크 풀의 메모리 제한입니다. 메모리 누수가 발생하면 이 값을 조정해 보세요.
fileParallelism
- CLI:
--fileParallelism
- Config: fileParallelism
모든 테스트 파일을 병렬로 실행할지 여부입니다. 비활성화하려면 --no-file-parallelism
을 사용하십시오 (기본값: true
).
maxWorkers
- CLI:
--maxWorkers <workers>
- Config: maxWorkers
테스트를 실행할 최대 워커 수 또는 비율입니다.
minWorkers
- CLI:
--minWorkers <workers>
- Config: minWorkers
테스트를 실행할 최소 워커 수 또는 비율입니다.
environment
- CLI:
--environment <name>
- Config: environment
브라우저에서 실행하지 않는 경우 러너 환경을 지정합니다 (기본값: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Config: passWithNoTests
테스트가 발견되지 않아도 테스트 실행을 통과로 처리합니다.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Node.js 환경에서 실행할 때 각 테스트의 힙 사용량을 표시합니다.
allowOnly
- CLI:
--allowOnly
- Config: allowOnly
only
로 표시된 테스트 및 스위트를 허용합니다 (기본값: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Config: dangerouslyIgnoreUnhandledErrors
발생하는 처리되지 않은 오류를 무시합니다.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Config: sequence.shuffle.files
파일을 무작위 순서로 실행합니다. 이 옵션을 활성화하면 오래 실행되는 테스트가 더 일찍 시작되지 않습니다 (기본값: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
테스트를 무작위 순서로 실행합니다 (기본값: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Config: sequence.concurrent
테스트를 병렬로 실행합니다 (기본값: false
).
sequence.seed
- CLI:
--sequence.seed <seed>
- Config: sequence.seed
무작위화 시드를 설정합니다. --sequence.shuffle
이 false
인 경우 이 옵션은 영향을 미치지 않습니다. 자세한 내용은 "Random Seed" 페이지를 참조하십시오.
sequence.hooks
- CLI:
--sequence.hooks <order>
- Config: sequence.hooks
훅이 실행되는 순서를 변경합니다. 허용되는 값은 "stack", "list", "parallel"입니다. 자세한 내용은 sequence.hooks
를 참조하십시오 (기본값: "parallel"
).
sequence.setupFiles
- CLI:
--sequence.setupFiles <order>
- Config: sequence.setupFiles
설정 파일이 실행되는 순서를 변경합니다. 허용되는 값은 "list"와 "parallel"입니다. "list"로 설정하면 설정 파일이 정의된 순서대로 실행됩니다. "parallel"로 설정하면 설정 파일이 병렬로 실행됩니다 (기본값: "parallel"
).
inspect
- CLI:
--inspect [[host:]port]
- Config: inspect
Node.js 인스펙터를 활성화합니다 (기본값: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Config: inspectBrk
Node.js 인스펙터를 활성화하고 테스트 시작 전에 실행을 중단합니다.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
테스트의 기본 시간 초과(밀리초)입니다 (기본값: 5000
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
기본 훅 시간 초과(밀리초)입니다 (기본값: 10000
).
bail
- CLI:
--bail <number>
- Config: bail
주어진 수의 테스트가 실패하면 테스트 실행을 중지합니다 (기본값: 0
).
retry
- CLI:
--retry <times>
- Config: retry
테스트가 실패하면 지정된 횟수만큼 재시도합니다 (기본값: 0
).
diff
- CLI:
--diff <path>
- Config: diff
차이점 비교 인터페이스를 생성하는 데 사용될 차이점 비교 설정 파일 경로입니다.
exclude
- CLI:
--exclude <glob>
- Config: exclude
테스트에서 제외할 추가 파일 glob 패턴입니다.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
스냅샷 실패 시 전체 diff를 표시합니다.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
콘솔 로깅의 자동 가로채기를 비활성화합니다 (기본값: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
테스트와 함께 타입 검사를 활성화합니다 (기본값: false
).
typecheck.only
- CLI:
--typecheck.only
- Config: typecheck.only
타입 검사 테스트만 실행합니다. 이 옵션은 자동으로 타입 검사를 활성화합니다 (기본값: false
).
typecheck.checker
- CLI:
--typecheck.checker <name>
- Config: typecheck.checker
사용할 타입 검사기를 지정합니다. 사용 가능한 값은 "tsc", "vue-tsc" 및 실행 파일 경로입니다 (기본값: "tsc"
).
typecheck.allowJs
- CLI:
--typecheck.allowJs
- Config: typecheck.allowJs
JavaScript 파일의 타입 검사를 허용합니다. 기본적으로 tsconfig.json
에서 값을 가져옵니다.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
소스 파일의 타입 오류를 무시합니다.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
사용자 지정 tsconfig
파일 경로입니다.
project
- CLI:
--project <name>
- Config: project
Vitest 워크스페이스 기능을 사용하는 경우 실행할 프로젝트 이름입니다. 여러 프로젝트에 대해 반복할 수 있습니다: --project=1 --project=2
. --project=packages*
와 같은 와일드카드를 사용하여 프로젝트를 필터링할 수도 있습니다.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
테스트가 느리다고 간주되는 임계값(밀리초)입니다 (기본값: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Config: teardownTimeout
teardown 함수의 기본 시간 초과(밀리초)입니다 (기본값: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Config: maxConcurrency
스위트에서 동시 테스트의 최대 수입니다 (기본값: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Config: expect.requireAssertions
모든 테스트에 하나 이상의 단언(assertion)이 필요하도록 요구합니다.
expect.poll.interval
- CLI:
--expect.poll.interval <interval>
- Config: expect.poll.interval
expect.poll()
단언에 대한 폴링 간격(밀리초)입니다 (기본값: 50
).
expect.poll.timeout
- CLI:
--expect.poll.timeout <timeout>
- Config: expect.poll.timeout
expect.poll()
단언에 대한 폴링 시간 초과(밀리초)입니다 (기본값: 1000
).
printConsoleTrace
- CLI:
--printConsoleTrace
- Config: printConsoleTrace
항상 콘솔 스택 추적을 인쇄합니다.
run
- CLI:
--run
감시 모드를 비활성화하고 한 번만 테스트를 실행합니다.
color
- CLI:
--no-color
콘솔 출력에서 색상을 제거합니다.
clearScreen
- CLI:
--clearScreen
감시 모드에서 테스트를 다시 실행할 때 터미널 화면을 지웁니다 (기본값: true
).
standalone
- CLI:
--standalone
테스트를 실행하지 않고 Vitest를 시작합니다. 파일 필터는 무시되며, 테스트는 변경 시에만 실행됩니다 (기본값: false
).
changed
- 유형:
boolean | string
- 기본값: false
변경된 파일에 대해서만 테스트를 실행합니다. 값이 제공되지 않으면 커밋되지 않은 변경 사항(스테이징된 것과 스테이징되지 않은 것 모두)을 테스트합니다.
마지막 커밋에서 변경된 사항에 대해 테스트를 실행하려면 --changed HEAD~1
을 사용할 수 있습니다. 커밋 해시(예: --changed 09a9920
) 또는 브랜치 이름(예: --changed origin/develop
)을 전달할 수도 있습니다.
코드 커버리지와 함께 사용할 경우, 보고서에는 변경된 파일만 포함됩니다.
forceRerunTriggers
구성 옵션과 함께 사용하면 forceRerunTriggers
목록에 있는 파일 중 하나라도 변경되면 전체 테스트 스위트를 실행합니다. 기본적으로 Vitest 구성 파일 및 package.json
의 변경 사항은 항상 전체 스위트를 다시 실행합니다.
shard
- 유형:
string
- 기본값: disabled
<index>
/<count>
형식으로 실행할 테스트 스위트 샤드입니다. 여기서
count
는 양의 정수이며, 분할된 부분의 총 개수입니다.index
는 양의 정수이며, 분할된 부분 중 현재 실행할 인덱스입니다.
이 명령은 모든 테스트를 count
개의 동일한 부분으로 나눈 후, index
에 해당하는 테스트만 실행합니다. 예를 들어, 테스트 스위트를 세 부분으로 나누려면 다음을 사용합니다:
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3
WARNING
이 옵션은 --watch
가 활성화된 상태(개발 환경에서 기본적으로 활성화됨)에서는 사용할 수 없습니다.
TIP
--reporter=blob
이 출력 파일 없이 사용되면, 기본 경로는 다른 Vitest 프로세스와의 충돌을 피하기 위해 현재 샤드 구성을 포함합니다.
merge-reports
- 유형:
boolean | string
지정된 폴더(기본적으로 .vitest-reports
)에 있는 모든 blob 보고서를 병합합니다. 이 명령으로 모든 리포터( blob
제외)를 사용할 수 있습니다:
vitest --merge-reports --reporter=junit