명령줄 인터페이스
명령어
vitest
현재 디렉터리에서 Vitest를 시작합니다. 개발 환경에서는 자동으로 감시 모드로 전환되며, CI 환경에서는 실행 모드로 자동 전환됩니다.
실행할 테스트 파일의 필터로 추가 인수를 전달할 수 있습니다. 예를 들어:
vitest foobar
경로에 foobar
가 포함된 테스트 파일만 실행합니다. 이 필터는 포함 여부만 확인하며, 정규 표현식 또는 glob 패턴을 지원하지 않습니다 (터미널이 Vitest가 필터를 받기 전에 처리하지 않는 한).
vitest run
감시 모드 없이 테스트를 한 번만 실행합니다.
vitest watch
모든 테스트 모음을 실행하지만, 파일 변경 사항을 감시하고 변경될 때 테스트를 다시 실행합니다. 인수 없이 vitest
를 호출하는 것과 같습니다. CI 환경에서는 vitest run
으로 대체됩니다.
vitest dev
vitest watch
의 별칭입니다.
vitest related
지정된 소스 파일을 포함하는 테스트만 실행합니다. 정적 import (예: import('./index.ts')
또는 import index from './index.ts')
)와 함께 작동하지만, 동적 import (예: import(filepath)
)와는 작동하지 않습니다. 모든 파일 경로는 루트 폴더를 기준으로 해야 합니다.
lint-staged
또는 CI 설정과 함께 실행하는 데 유용합니다.
vitest related /src/index.ts /src/hello-world.js
TIP
Vitest는 기본적으로 감시 모드가 활성화된 상태로 실행됩니다. lint-staged
와 같은 도구를 사용하는 경우, --run
옵션을 함께 전달하여 명령이 정상적으로 종료되도록 해야 합니다.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
성능 결과를 비교하는 벤치마크 테스트만 실행합니다.
옵션
옵션 | |
---|---|
-v, --version | 버전 번호를 표시합니다. |
-r, --root <path> | 프로젝트 루트 디렉터리를 정의합니다. |
-c, --config <path> | 구성 파일의 경로를 지정합니다. |
-u, --update | 스냅샷을 업데이트합니다. |
-w, --watch | 스마트하고 즉각적인 감시 모드를 활성화합니다. |
-t, --testNamePattern <pattern> | 지정된 패턴과 일치하는 이름을 가진 테스트만 실행합니다. |
--dir <path> | 테스트 파일을 검색할 기준 디렉터리를 지정합니다. |
--ui | UI를 활성화합니다. |
--open | UI가 활성화된 경우 자동으로 엽니다 (기본값: true ). |
--api [api] | API 서비스를 제공합니다. 사용 가능한 옵션: --api.port <port> , --api.host [host] , --api.strictPort |
--threads | 스레드를 활성화합니다 (기본값: true ). |
--single-thread | 단일 스레드 내에서 테스트를 실행합니다. --threads 옵션이 필요합니다 (기본값: false ). |
--experimental-vm-threads | VM 격리를 사용하여 작업자 풀에서 테스트를 실행합니다 (기본값: false ). |
--experimental-vm-worker-memory-limit | 작업자별 최대 허용 메모리를 설정합니다. 제한에 도달하면 새로운 작업자가 생성됩니다. |
--silent | 테스트 실행 중 콘솔 출력을 억제합니다. |
--isolate | 각 테스트 파일마다 독립된 환경을 사용합니다 (기본값: true ). |
--reporter <name> | 리포터를 선택합니다: default , verbose , dot , junit , json 또는 사용자 정의 리포터의 경로 |
--outputFile <filename/-s> | --reporter=json 또는 --reporter=junit 옵션과 함께 사용하여 테스트 결과를 파일에 씁니다. cac의 점 표기법을 사용하여 여러 리포터에 각각 다른 출력 파일을 지정할 수 있습니다. |
--coverage | 코드 커버리지 보고서를 활성화합니다. |
--run | 감시 모드를 비활성화합니다. |
--mode | Vite 모드를 재정의합니다 (기본값: test ). |
--mode <name> | Vite 모드를 재정의합니다 (기본값: test ). |
--globals | Vitest API를 전역 범위에 주입합니다. |
--dom | happy-dom을 사용하여 브라우저 API를 모킹합니다. |
--browser [options] | 브라우저 환경에서 테스트를 실행합니다 (기본값: false ). |
--environment <env> | 테스트 실행 환경을 지정합니다 (기본값: node ). |
--passWithNoTests | 테스트가 없는 경우에도 테스트를 통과한 것으로 처리합니다. |
--logHeapUsage | 각 테스트 실행 후 힙 메모리 사용량을 표시합니다. |
--allowOnly | .only 로 표시된 테스트와 스위트만 실행합니다 (기본값: CI 환경에서는 false , 그 외에는 true ). |
--dangerouslyIgnoreUnhandledErrors | 처리되지 않은 오류를 무시합니다 (주의해서 사용하십시오). |
--changed [since] | 변경된 파일에 영향을 받는 테스트만 실행합니다 (기본값: false ). 문서를 참조하십시오. |
--shard <shard> | 지정된 샤드에서 테스트를 실행합니다. |
--sequence | 테스트 실행 순서를 설정합니다. cac의 점 표기법을 사용하여 옵션을 지정합니다 (예: --sequence.shuffle 을 사용하여 테스트를 임의 순서로 실행하거나, --sequence.shuffle --sequence.seed SEED_ID 를 사용하여 특정 순서로 실행). |
--no-color | 콘솔 출력에서 색상을 제거합니다. |
--inspect | Node.js 검사기를 활성화합니다. |
--inspect-brk | 중단점 설정과 함께 Node.js 검사기를 활성화합니다. |
--bail <number> | 지정된 수의 테스트가 실패하면 테스트 실행을 중단합니다. |
--retry <times> | 테스트가 실패하면 지정된 횟수만큼 다시 시도합니다. |
-h, --help | 사용 가능한 CLI 옵션을 표시합니다. |
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
changed
타입:
boolean | string
기본값:
false
변경된 파일에 대해서만 테스트를 실행합니다. 값을 지정하지 않으면 커밋되지 않은 모든 변경 사항(스테이징된 변경 사항 및 스테이징되지 않은 변경 사항 포함)에 대한 테스트를 실행합니다.
마지막 커밋에서 변경된 사항에 대해 테스트를 실행하려면
--changed HEAD~1
을 사용할 수 있습니다. 커밋 해시 또는 브랜치 이름을 전달할 수도 있습니다.forceRerunTriggers
구성 옵션과 함께 사용하면, 일치하는 항목이 발견될 경우 전체 테스트 모음을 실행합니다.
shard
타입:
string
기본값: 비활성화됨
<index>
/<count>
형식으로 실행할 테스트 스위트 샤드를 지정합니다. 여기서:count
는 양의 정수이며, 전체 샤드(분할)의 개수입니다.index
는 양의 정수이며, 실행할 샤드의 인덱스입니다 (1부터 시작).
이 명령은 전체 테스트를
count
개의 그룹으로 나누고, 그 중index
에 해당하는 그룹의 테스트만 실행합니다. 예를 들어, 테스트 스위트를 세 개의 샤드로 분할하려면 다음 명령어를 사용하십시오.shvitest run --shard=1/3 vitest run --shard=2/3 vitest run --shard=3/3
WARNING
--watch
옵션이 활성화된 상태 (기본적으로 개발 환경에서 활성화됨)에서는 이 옵션을 사용할 수 없습니다.