Skip to content
Vitest 3
Main Navigation 가이드 & API구성브라우저 모드고급 API
3.2.0
2.1.9
1.6.1
0.34.6

한국어

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
Italiano
Polski
Türkçe
čeština
magyar

한국어

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
Italiano
Polski
Türkçe
čeština
magyar

외관

Sidebar Navigation

소개

Vitest를 선택하는 이유

시작하기

기능

Vitest 구성하기

API

테스트 API 참조

Mock 함수

Vi

expect

expectTypeOf

assert

assertType

가이드

명령줄 인터페이스

테스트 필터링

테스트 프로젝트

리포터

커버리지

스냅샷

모킹

병렬 처리

타입 검사

Vitest UI

소스 내 테스팅

테스트 컨텍스트

테스트 어노테이션

테스트 환경

매처 확장하기

IDE 통합

디버깅

일반적인 오류

마이그레이션 가이드

Vitest 3.0으로 마이그레이션

Jest에서 마이그레이션

성능

테스트 성능 프로파일링

성능 향상

브라우저 모드

고급 API

다른 테스트 러너와의 비교

이 페이지에서

명령줄 인터페이스 ​

명령 ​

vitest ​

현재 디렉터리에서 Vitest를 시작합니다. 개발 환경에서는 watch 모드로, CI 환경(또는 비대화형 터미널)에서는 run 모드로 자동 실행됩니다.

실행할 테스트 파일의 필터로 추가 인수를 전달할 수 있습니다. 예를 들어:

bash
vitest foobar

경로에 foobar가 포함된 테스트 파일만 실행합니다. 이 필터는 포함 여부만 확인하며, 정규식이나 glob 패턴은 지원하지 않습니다(Vitest가 필터를 받기 전에 터미널이 이를 처리하는 경우가 아니라면).

Vitest 3부터는 파일 이름과 줄 번호로 테스트를 지정할 수도 있습니다:

bash
$ vitest basic/foo.test.ts:10

WARNING

이 기능이 제대로 작동하려면 Vitest는 전체 파일 이름이 필요합니다. 이는 현재 작업 디렉터리에 대한 상대 경로이거나 절대 파일 경로일 수 있습니다.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

현재 Vitest는 범위 지정을 지원하지 않습니다:

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

vitest run ​

watch 모드 없이 단일 실행을 수행합니다.

vitest watch ​

모든 테스트 스위트를 실행하며, 변경 사항을 감시하고 변경 시 테스트를 다시 실행합니다. 인자 없이 vitest를 호출하는 것과 같습니다. CI 환경이거나 표준 입력이 TTY가 아닌 경우(비대화형 환경) vitest run으로 대체됩니다.

vitest dev ​

vitest watch의 별칭입니다.

vitest related ​

소스 파일 목록을 커버하는 테스트만 실행합니다. 정적 import(예: import('./index.js') 또는 import index from './index.js)에서는 작동하지만 동적 import(예: import(filepath))에서는 작동하지 않습니다. 모든 파일은 루트 폴더를 기준으로 하는 상대 경로여야 합니다.

lint-staged 또는 CI 설정과 함께 실행할 때 유용합니다.

bash
vitest related /src/index.ts /src/hello-world.js

TIP

Vitest는 기본적으로 watch 모드가 활성화된 상태로 실행된다는 점을 유의하십시오. lint-staged와 같은 도구를 사용하는 경우, 명령이 정상적으로 종료될 수 있도록 --run 옵션도 함께 전달해야 합니다.

js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

성능 결과를 비교하는 벤치마크 테스트만 수행합니다.

vitest init ​

vitest init <name>은 프로젝트 구성을 설정하는 데 사용될 수 있습니다. 현재는 browser 값만 지원합니다:

bash
vitest init browser

vitest list ​

vitest list 명령은 일치하는 모든 테스트 목록을 출력하기 위해 모든 vitest 옵션을 따릅니다. 이 명령은 reporters 옵션을 무시합니다. 기본적으로 파일 필터와 이름 패턴에 일치하는 모든 테스트의 이름을 출력합니다:

shell
vitest list filename.spec.ts -t="some-test"
txt
describe > some-test
describe > some-test > test 1
describe > some-test > test 2

--json 플래그를 사용하여 테스트를 JSON 형식으로 출력하거나 별도의 파일에 저장할 수 있습니다:

bash
vitest list filename.spec.ts -t="some-test" --json=./file.json

--json 플래그에 값이 제공되지 않으면 JSON을 표준 출력(stdout)으로 내보냅니다.

--filesOnly 플래그를 사용하여 테스트 파일만 출력할 수도 있습니다:

bash
vitest list --filesOnly
txt
tests/test1.test.ts
tests/test2.test.ts

옵션 ​

TIP

Vitest는 CLI 인수에 대해 camel case와 kebab case를 모두 지원합니다. 예를 들어, --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

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 [value]
  • Config: silent

테스트의 콘솔 출력을 숨깁니다. 실패한 테스트의 로그만 보려면 'passed-only'를 사용합니다.

hideSkippedTests ​

  • CLI: --hideSkippedTests

건너뛴 테스트의 로그를 숨깁니다.

reporters ​

  • CLI: --reporter <name>
  • Config: reporters

리포터를 지정합니다 (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).

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

API를 전역으로 주입합니다.

dom ​

  • CLI: --dom

happy-dom으로 브라우저 API를 모의합니다.

browser.enabled ​

  • CLI: --browser.enabled
  • Config: browser.enabled

브라우저에서 테스트를 실행합니다. CLI 옵션 --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(그래픽 사용자 인터페이스)를 열지 않고)로 실행합니다. Vitest를 CI 환경에서 실행하는 경우 기본적으로 활성화됩니다 (기본값: 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).

browser.connectTimeout ​

  • CLI: --browser.connectTimeout <timeout>
  • Config: browser.connectTimeout

브라우저 연결에 시간이 오래 걸리면 테스트 스위트가 실패합니다 (기본값: 60_000).

pool ​

  • CLI: --pool <pool>
  • Config: pool

브라우저에서 실행하지 않는 경우 풀을 지정합니다 (기본값: forks).

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 버전에서는 세그먼트 오류(segfault)가 발생할 수 있습니다 (기본값: 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

단일 스레드 내에서 테스트를 실행합니다 (기본값: false).

poolOptions.vmThreads.maxThreads ​

  • CLI: --poolOptions.vmThreads.maxThreads <workers>
  • Config: poolOptions.vmThreads.maxThreads

테스트를 실행할 최대 스레드 수 또는 비율을 지정합니다.

poolOptions.vmThreads.minThreads ​

  • CLI: --poolOptions.vmThreads.minThreads <workers>
  • Config: poolOptions.vmThreads.minThreads

테스트를 실행할 최소 스레드 수 또는 비율을 지정합니다.

poolOptions.vmThreads.useAtomics ​

  • CLI: --poolOptions.vmThreads.useAtomics
  • Config: poolOptions.vmThreads.useAtomics

스레드 동기화에 Atomics를 사용합니다. 경우에 따라 성능을 향상시킬 수 있지만, 이전 Node 버전에서는 세그먼트 오류(segfault)가 발생할 수 있습니다 (기본값: 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

테스트를 실행할 최대 프로세스 수 또는 비율을 지정합니다.

poolOptions.vmForks.minForks ​

  • CLI: --poolOptions.vmForks.minForks <workers>
  • Config: poolOptions.vmForks.minForks

테스트를 실행할 최소 프로세스 수 또는 비율을 지정합니다.

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). 시간 초과를 완전히 비활성화하려면 0을 사용하십시오.

hookTimeout ​

  • CLI: --hookTimeout <timeout>
  • Config: hookTimeout

기본 훅 시간 초과 (밀리초)입니다 (기본값: 10000). 시간 초과를 완전히 비활성화하려면 0을 사용하십시오.

bail ​

  • CLI: --bail <number>
  • Config: bail

주어진 수의 테스트가 실패하면 테스트 실행을 중지합니다 (기본값: 0).

retry ​

  • CLI: --retry <times>
  • Config: retry

테스트가 실패하면 지정된 횟수만큼 다시 시도합니다 (기본값: 0).

diff.aAnnotation ​

  • CLI: --diff.aAnnotation <annotation>
  • Config: diff.aAnnotation

예상 라인에 대한 주석입니다 (기본값: Expected).

diff.aIndicator ​

  • CLI: --diff.aIndicator <indicator>
  • Config: diff.aIndicator

예상 라인에 대한 지표입니다 (기본값: -).

diff.bAnnotation ​

  • CLI: --diff.bAnnotation <annotation>
  • Config: diff.bAnnotation

수신 라인에 대한 주석입니다 (기본값: Received).

diff.bIndicator ​

  • CLI: --diff.bIndicator <indicator>
  • Config: diff.bIndicator

수신 라인에 대한 지표입니다 (기본값: +).

diff.commonIndicator ​

  • CLI: --diff.commonIndicator <indicator>
  • Config: diff.commonIndicator

공통 라인에 대한 지표입니다 (기본값: ).

diff.contextLines ​

  • CLI: --diff.contextLines <lines>
  • Config: diff.contextLines

각 변경 부분 주변에 표시할 문맥 라인 수입니다 (기본값: 5).

diff.emptyFirstOrLastLinePlaceholder ​

  • CLI: --diff.emptyFirstOrLastLinePlaceholder <placeholder>
  • Config: diff.emptyFirstOrLastLinePlaceholder

비어 있는 첫 번째 또는 마지막 라인에 대한 자리 표시자입니다 (기본값: "").

diff.expand ​

  • CLI: --diff.expand
  • Config: diff.expand

모든 공통 라인을 확장합니다 (기본값: true).

diff.includeChangeCounts ​

  • CLI: --diff.includeChangeCounts
  • Config: diff.includeChangeCounts

diff 출력에 비교 횟수를 포함합니다 (기본값: false).

diff.omitAnnotationLines ​

  • CLI: --diff.omitAnnotationLines
  • Config: diff.omitAnnotationLines

출력에서 주석 라인을 생략합니다 (기본값: false).

diff.printBasicPrototype ​

  • CLI: --diff.printBasicPrototype
  • Config: diff.printBasicPrototype

기본 프로토타입 Object 및 Array를 인쇄합니다 (기본값: true).

diff.maxDepth ​

  • CLI: --diff.maxDepth <maxDepth>
  • Config: diff.maxDepth

중첩된 객체를 출력할 때 재귀 처리할 최대 깊이입니다 (기본값: 20).

diff.truncateThreshold ​

  • CLI: --diff.truncateThreshold <threshold>
  • Config: diff.truncateThreshold

각 변경 사항 전후에 표시할 라인 수입니다 (기본값: 0).

diff.truncateAnnotation ​

  • CLI: --diff.truncateAnnotation <annotation>
  • Config: diff.truncateAnnotation

잘린 라인에 대한 주석입니다 (기본값: ... Diff result is truncated).

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 파일 경로입니다.

typecheck.spawnTimeout ​

  • CLI: --typecheck.spawnTimeout <time>
  • Config: typecheck.spawnTimeout

타입 검사기를 생성하는 데 걸리는 최소 시간 (밀리초)입니다.

project ​

  • CLI: --project <name>
  • Config: project

Vitest 작업 공간 기능을 사용하는 경우 실행할 프로젝트 이름입니다. 여러 프로젝트에 대해 --project=1 --project=2와 같이 반복하여 지정할 수 있습니다. --project=packages*와 같은 와일드카드를 사용하여 프로젝트를 필터링하거나, --project=!pattern으로 프로젝트를 제외할 수도 있습니다.

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

모든 테스트에 최소 하나의 단언이 필요하도록 요구합니다.

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

항상 콘솔 스택 추적을 인쇄합니다.

includeTaskLocation ​

  • CLI: --includeTaskLocation
  • Config: includeTaskLocation

location 속성에 테스트 및 스위트 위치를 수집합니다.

attachmentsDir ​

  • CLI: --attachmentsDir <dir>
  • Config: attachmentsDir

context.annotate에서 첨부 파일이 저장되는 디렉터리입니다 (기본값: .vitest-attachments).

run ​

  • CLI: --run

감시 모드를 비활성화합니다.

color ​

  • CLI: --no-color

콘솔 출력에서 색상을 제거합니다.

clearScreen ​

  • CLI: --clearScreen

감시 모드에서 테스트를 다시 실행할 때 터미널 화면을 지웁니다 (기본값: true).

configLoader ​

  • CLI: --configLoader <loader>

esbuild로 구성을 번들링하려면 bundle을 사용하고, 즉시 처리하려면 runner (실험적)를 사용합니다. 이 옵션은 Vite 버전 6.1.0 이상에서만 사용할 수 있습니다. (기본값: bundle)

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 부분에 해당하는 테스트만 실행합니다. 예를 들어, 테스트 스위트를 세 부분으로 나누려면 다음을 사용합니다:

sh
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 제외)를 사용할 수 있습니다:

sh
vitest --merge-reports --reporter=junit
Pager
이전assertType
다음테스트 필터링

MIT 라이선스 하에 배포되었습니다.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

MIT 라이선스 하에 배포되었습니다.

Copyright (c) 2021-Present Vitest Team