테스트

  • 전체 테스트 키트 (스위트, 라이브, Docker): 테스팅

  • pnpm test:force: 기본 제어 포트를 점유하고 있는 잔여 게이트웨이 프로세스를 종료한 후, 격리된 게이트웨이 포트로 전체 Vitest 스위트를 실행하여 서버 테스트가 실행 중인 인스턴스와 충돌하지 않도록 합니다. 이전 게이트웨이 실행이 포트 18789를 점유하고 있을 때 사용하세요.

  • pnpm test:coverage: V8 커버리지(vitest.unit.config.ts 사용)로 단위 스위트를 실행합니다. 전역 임계값은 70% 라인/분기/함수/문장입니다.

  • pnpm test: 빠른 로컬 피드백을 위해 기본적으로 빠른 코어 단위 레인을 실행합니다.

  • pnpm test:channels: 채널 중심 스위트를 실행합니다.

  • pnpm test:extensions: 확장/플러그인 스위트를 실행합니다.

  • 게이트웨이 통합: OPENCLAW_TEST_INCLUDE_GATEWAY=1 pnpm test 또는 pnpm test:gateway로 옵트인.

  • pnpm test:e2e: 게이트웨이 종단 간 스모크 테스트 실행.

  • pnpm test:live: 프로바이더 라이브 테스트 실행. API 키와 LIVE=1 필요.

로컬 PR 게이트

로컬 PR 랜딩/게이트 검사에는 다음을 실행:

  • pnpm check
  • pnpm build
  • pnpm test
  • pnpm check:docs

모델 지연시간 벤치 (로컬 키)

스크립트: scripts/bench-model.ts

CLI 시작 벤치

스크립트: scripts/bench-cli-startup.ts

온보딩 E2E (Docker)

Docker는 선택 사항; 컨테이너화된 온보딩 스모크 테스트에만 필요합니다.

scripts/e2e/onboard-docker.sh

QR 임포트 스모크 (Docker)

qrcode-terminal이 지원되는 Docker Node 런타임에서 로드되는지 확인:

pnpm test:docker:qr