Node API
WARNING
Vitest는 실험적인 비공개 API를 제공합니다. 주요 변경 사항이 SemVer를 따르지 않을 수 있으므로, 사용할 때 Vitest 버전을 고정하십시오.
startVitest
Node API를 사용하여 Vitest 테스트를 시작할 수 있습니다.
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();
startVitest
함수는 테스트를 시작할 준비가 된 Vitest
인스턴스를 반환합니다. 다음 경우에는 undefined
를 반환합니다.
- Vitest가 'vite' 패키지를 찾지 못한 경우 (일반적으로 Vitest와 함께 설치됩니다.)
- 커버리지가 활성화되어 있고 실행 모드가 'test'이지만, 커버리지 패키지가 설치되지 않은 경우 (
@vitest/coverage-v8
또는@vitest/coverage-istanbul
) - 필요한 환경 패키지가 설치되지 않은 경우 (
jsdom
/happy-dom
/@edge-runtime/vm
)
undefined
가 반환되거나 테스트 실행 중 오류가 발생하면 Vitest는 process.exitCode
를 1
로 설정합니다.
감시(Watch) 모드가 비활성화된 경우 Vitest는 close
메서드를 호출합니다.
Watch 모드가 활성화되어 있고 터미널이 TTY를 지원하면, Vitest는 콘솔 단축키 명령을 등록합니다.
두 번째 인자로 필터 목록을 전달하여 특정 파일만 테스트하도록 지정할 수 있습니다. Vitest는 전달된 문자열 중 하나라도 파일 경로에 포함된 테스트만 실행합니다.
세 번째 인자로는 CLI 인자를 전달할 수 있으며, 이는 모든 테스트 구성 옵션을 덮어씁니다.
네 번째 인자로는 완전한 Vite 구성 객체를 전달할 수 있으며, 이는 다른 모든 사용자 정의 옵션보다 우선합니다.
createVitest
createVitest
함수를 사용하여 Vitest 인스턴스를 직접 생성할 수 있습니다. 이는 startVitest
와 동일한 Vitest
인스턴스를 반환하지만, 테스트 시작 및 필수 패키지 설치 여부 검증은 수행하지 않습니다.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});
Vitest
Vitest 인스턴스는 실행할 테스트 모드를 지정해야 합니다. 다음 중 하나를 선택할 수 있습니다.
- 런타임 테스트를 실행할 때
test
- 벤치마크를 실행할 때
benchmark
- 타입 검사를 실행할 때
typecheck
mode
test
Test 모드는 test
또는 it
블록 내부의 함수만 실행하고, bench
함수가 발견되면 오류를 발생시킵니다. 이 모드는 테스트 파일을 찾기 위해 설정 파일의 include
및 exclude
옵션을 사용합니다.
benchmark
Benchmark 모드는 bench
함수만 실행하고, test
또는 it
블록이 발견되면 오류를 발생시킵니다. 이 모드는 벤치마크 파일을 찾기 위해 설정 파일의 benchmark.include
및 benchmark.exclude
옵션을 사용합니다.
typecheck
Typecheck 모드는 테스트를 실행하는 대신, 타입만 분석하고 요약 정보를 제공합니다. 이 모드는 분석할 파일을 찾기 위해 설정 파일의 typecheck.include
및 typecheck.exclude
옵션을 사용합니다.
start
start
메서드를 사용해 테스트 또는 벤치마크 실행을 시작할 수 있습니다. 문자열 배열을 전달하여 특정 테스트 파일만 실행하도록 필터링할 수 있습니다.