Тесты (Tests)
-
Полный набор тестов (наборы, live, Docker): Testing
-
pnpm test:force: Завершает любой оставшийся процесс шлюза, занимающий порт управления по умолчанию, затем запускает полный набор Vitest с изолированным портом шлюза, чтобы серверные тесты не конфликтовали с работающим экземпляром. Используйте это, когда предыдущий запуск шлюза оставил порт 18789 занятым.
-
pnpm test:coverage: Запускает Vitest с покрытием V8. Глобальные пороги составляют 70% строк/веток/функций/утверждений. Покрытие исключает точки входа, интенсивные по интеграции (проводка CLI, мосты gateway/telegram, статический сервер webchat), чтобы сосредоточить цель на логике, тестируемой модульно.
-
pnpm test:e2e: Запускает сквозные дымовые тесты шлюза (многоинстансное сопряжение 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
- Промпт по умолчанию: "Reply with a single word: ok. No punctuation or extra text."
Последний запуск (2025-12-31, 20 прогонов):
- minimax медиана 1279ms (мин 1114, макс 2431)
- opus медиана 2454ms (мин 1224, макс 3170)
Сквозной онбординг (Docker)
Docker опционален; это нужно только для контейнеризованных дымовых тестов онбординга.
Полный поток холодного старта в чистом Linux-контейнере:
scripts/e2e/onboard-docker.sh
Этот скрипт управляет интерактивным мастером через псевдо-tty, проверяет файлы config/workspace/session, затем запускает шлюз и выполняет openclaw health.
Дымовой тест импорта QR (Docker)
Убедитесь, что qrcode-terminal загружается под Node 22+ в Docker:
pnpm test:docker:qr