Перейти к основному содержанию

Тесты

  • Полный набор для тестирования (наборы, live, Docker): Testing
  • pnpm test:force: Завершает любые зависшие процессы Gateway (шлюз), удерживающие порт управления по умолчанию, затем запускает полный набор Vitest с изолированным портом Gateway (шлюз), чтобы серверные тесты не конфликтовали с запущенным экземпляром. Используйте это, когда предыдущий запуск Gateway (шлюз) оставил порт 18789 занятым.
  • pnpm test:coverage: Запускает Vitest с покрытием V8. Глобальные пороги — 70% для строк/ветвей/функций/операторов. Из покрытия исключены точки входа с высокой долей интеграции (проводка CLI, мосты gateway/telegram, статический сервер webchat), чтобы цель оставалась сфокусированной на логике, тестируемой модульными тестами.
  • pnpm test на Node 24+: OpenClaw автоматически отключает Vitest vmForks и использует forks, чтобы избежать ERR_VM_MODULE_LINK_FAILURE / module is already linked. Вы можете принудительно задать поведение с помощью OPENCLAW_TEST_VM_FORKS=0|1.
  • pnpm test:e2e: Запускает сквозные дымовые тесты Gateway (шлюз) (сопряжение нескольких экземпляров WS/HTTP/node). По умолчанию используется vmForks + адаптивные воркеры в vitest.e2e.config.ts; настройка через OPENCLAW_E2E_WORKERS=<n> и установка OPENCLAW_E2E_VERBOSE=1 для подробных логов.
  • 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