Тесты
- Полный набор для тестирования (наборы, 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 автоматически отключает VitestvmForksи использует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. Без знаков препинания или дополнительного текста.»
- minimax: медиана 1279 мс (мин. 1114, макс. 2431)
- opus: медиана 2454 мс (мин. 1224, макс. 3170)
Онбординг E2E (Docker)
Docker необязателен; требуется только для контейнеризованных дымовых тестов онбординга. Полный cold‑start‑процесс в чистом Linux‑контейнере:openclaw health.
Дымовой тест импорта QR (Docker)
Проверяет, чтоqrcode-terminal загружается под Node 22+ в Docker: