테스트 (Tests)
-
전체 테스트 키트 (suite, live, Docker): Testing
-
pnpm test:force: 기본 제어 포트를 점유하고 있는 남은 게이트웨이 프로세스를 강제 종료한 다음 격리된 게이트웨이 포트로 전체 Vitest suite를 실행하여 서버 테스트가 실행 중인 인스턴스와 충돌하지 않도록 합니다. 이전 게이트웨이 실행이 포트 18789를 점유한 채로 남아있을 때 사용합니다.
-
pnpm test:coverage: V8 커버리지로 Vitest를 실행합니다. 전역 임계값은 70% lines/branches/functions/statements입니다. 커버리지는 단위 테스트 가능한 로직에 초점을 맞추기 위해 통합 중심 진입점(CLI 배선, gateway/telegram 브리지, webchat 정적 서버)을 제외합니다.
-
pnpm test:e2e: 게이트웨이 엔드투엔드 스모크 테스트(멀티 인스턴스 WS/HTTP/node 페어링)를 실행합니다.
-
pnpm test:live: 프로바이더 라이브 테스트(minimax/zai)를 실행합니다. API 키와 LIVE=1(또는 프로바이더별 *_LIVE_TEST=1)이 스킵 해제에 필요합니다.
모델 지연시간 벤치마크 (로컬 키)
스크립트: scripts/bench-model.ts
사용법:
- source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
- 선택적 환경 변수: MINIMAX_API_KEY, MINIMAX_BASE_URL, MINIMAX_MODEL, ANTHROPIC_API_KEY
- 기본 프롬프트: "Reply with a single word: ok. No punctuation or extra text."
최근 실행 (2025-12-31, 20회 실행):
- minimax 중앙값 1279ms (최소 1114, 최대 2431)
- opus 중앙값 2454ms (최소 1224, 최대 3170)
온보딩 E2E (Docker)
Docker는 선택사항입니다. 이것은 컨테이너화된 온보딩 스모크 테스트에만 필요합니다.
깨끗한 Linux 컨테이너에서 전체 콜드 스타트 플로우:
scripts/e2e/onboard-docker.sh
이 스크립트는 의사 tty를 통해 대화형 마법사를 구동하고, config/workspace/session 파일을 검증한 다음 게이트웨이를 시작하고 openclaw health를 실행합니다.
QR 가져오기 스모크 (Docker)
Docker 내 Node 22+에서 qrcode-terminal이 로드되는지 확인합니다:
pnpm test:docker:qr