Тесты¶
-
Полный набор для тестирования (наборы, live, Docker): Testing
-
pnpm test:force: Завершает любые зависшие процессы Gateway (шлюз), удерживающие порт управления по умолчанию, затем запускает полный набор Vitest с изолированным портом Gateway (шлюз), чтобы серверные тесты не конфликтовали с запущенным экземпляром. Используйте это, когда предыдущий запуск Gateway (шлюз) оставил порт 18789 занятым. -
pnpm test:coverage: Запускает Vitest с покрытием V8. Глобальные пороги — 70% для строк/ветвей/функций/операторов. Из покрытия исключены точки входа с высокой долей интеграции (проводка CLI, мосты gateway/telegram, статический сервер webchat), чтобы цель оставалась сфокусированной на логике, тестируемой модульными тестами. -
pnpm test:e2e: Запускает сквозные дымовые тесты Gateway (шлюз) (сопряжение нескольких экземпляров WS/HTTP/node). -
pnpm test:live: Запускает 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 - Запрос по умолчанию: «Ответьте одним словом: ok. Без знаков препинания или дополнительного текста.»
Последний запуск (2025-12-31, 20 прогонов):
- minimax: медиана 1279 мс (мин. 1114, макс. 2431)
- opus: медиана 2454 мс (мин. 1224, макс. 3170)
Онбординг E2E (Docker)¶
Docker необязателен; требуется только для контейнеризованных дымовых тестов онбординга.
Полный cold‑start‑процесс в чистом Linux‑контейнере:
scripts/e2e/onboard-docker.sh
Этот скрипт управляет интерактивным мастером через pseudo‑tty, проверяет файлы конфигурации/рабочего пространства/сеанса, затем запускает Gateway (шлюз) и выполняет openclaw health.
Дымовой тест импорта QR (Docker)¶
Проверяет, что qrcode-terminal загружается под Node 22+ в Docker:
pnpm test:docker:qr