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 메서드를 사용해 테스트 또는 벤치마크 실행을 시작할 수 있습니다. 문자열 배열을 전달하여 특정 테스트 파일만 실행하도록 필터링할 수 있습니다.