Тесты (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