Tests

  • Vollständiges Test-Kit (Suites, Live, Docker): Testing

  • pnpm test:force: Beendet alle noch laufenden Gateway-Prozesse, die den Standard-Control-Port belegen, und führt dann die komplette Vitest-Suite mit einem isolierten Gateway-Port aus, damit Server-Tests nicht mit einer laufenden Instanz kollidieren. Nutze das, wenn ein vorheriger Gateway-Lauf Port 18789 belegt hat.

  • pnpm test:coverage: Führt Vitest mit V8-Coverage aus. Die globalen Schwellenwerte liegen bei 70 % für Lines/Branches/Functions/Statements. Die Coverage schließt integrationslastige Einstiegspunkte aus (CLI-Verdrahtung, Gateway/Telegram-Bridges, Webchat-Static-Server), um den Fokus auf unit-testbare Logik zu halten.

  • pnpm test:e2e: Führt Gateway-End-to-End-Smoke-Tests aus (Multi-Instanz WS/HTTP/Node-Pairing).

  • pnpm test:live: Führt Provider-Live-Tests aus (minimax/zai). Benötigt API-Keys und LIVE=1 (oder provider-spezifische *_LIVE_TEST=1), um nicht übersprungen zu werden.

Model-Latency-Benchmark (lokale Keys)

Script: scripts/bench-model.ts

Verwendung:

  • source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
  • Optionale Umgebungsvariablen: MINIMAX_API_KEY, MINIMAX_BASE_URL, MINIMAX_MODEL, ANTHROPIC_API_KEY
  • Standard-Prompt: “Reply with a single word: ok. No punctuation or extra text.”

Letzter Lauf (31.12.2025, 20 Durchläufe):

  • minimax Median 1279 ms (min 1114, max 2431)
  • opus Median 2454 ms (min 1224, max 3170)

Onboarding E2E (Docker)

Docker ist optional – das wird nur für containerisierte Onboarding-Smoke-Tests benötigt.

Kompletter Cold-Start-Flow in einem sauberen Linux-Container:

scripts/e2e/onboard-docker.sh

Dieses Script steuert den interaktiven Wizard über ein Pseudo-TTY, verifiziert Config/Workspace/Session-Dateien, startet dann das Gateway und führt openclaw health aus.

QR-Import-Smoke (Docker)

Stellt sicher, dass qrcode-terminal unter Node 22+ in Docker lädt:

pnpm test:docker:qr