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

Тестирование функций

Каждая функция может быть протестирована прямо в редакторе, не запуская рабочий процесс целиком. Панель тестирования расположена справа от редактора кода.

Панель тестирования

Панель состоит из нескольких секций:

Примеры кода

В верхней части панели расположен раскрываемый блок Примеры кода. Он содержит готовые фрагменты для типичных операций:

ПримерОписание
Получить входные данныеconst { name, email } = context.input;
Получить output ноды по IDcontext.nodeOutputs["node_id"]
Читать память (user)context.memory.user["myKey"]
Записать в памятьcontext.memoryOps.push({...})
Удалить из памятиcontext.memoryOps.push({ action: "delete", ... })
HTTP GET запросawait axios.get(url, { headers: {...} })
HTTP POST запросawait axios.post(url, { key: 'value' })
Работа с датамиmoment().format('YYYY-MM-DD HH:mm')

Нажмите на любой пример, чтобы скопировать его в буфер обмена.

Входные параметры

Поле Входные параметры (JSON) позволяет задать тестовые данные, которые функция получит через context.input.

Введите данные в формате JSON:

{
"phone": "+79991234567",
"name": "Иван Иванов"
}

Автогенерация примера

Если у функции заполнены параметры (JSON Schema на вкладке «Параметры»), платформа автоматически генерирует пример входных данных. Нажмите кнопку Пример, чтобы обновить входные данные на основе текущей схемы.

Генератор примеров учитывает типы полей и их названия:

  • Поля с phone в имени заполняются номером телефона
  • Поля с email -- адресом электронной почты
  • Поля с name -- именем
  • Поля с date -- датой в формате ISO
  • Числовые поля заполняются 0
  • Булевы поля -- false

Запуск теста

Нажмите кнопку Запустить для выполнения функции с указанными входными данными.

Сохраните перед запуском

Функция должна быть сохранена перед тестированием. Если вы внесли изменения в редакторе, сначала нажмите «Сохранить» (или Cmd+S).

Результат выполнения

После выполнения в секции Результат отображается:

  • При успешном выполнении -- JSON-ответ функции, отформатированный с отступами
  • При ошибке -- текст ошибки и логи выполнения (если есть)

Логи отображаются в формате:

Ошибка: описание ошибки

Логи:
[info] сообщение лога
[error] сообщение ошибки

Нажмите кнопку копирования рядом с заголовком «Результат», чтобы скопировать вывод в буфер обмена.

Рекомендации по тестированию

Пошаговая разработка
  1. Начните с простого кода, который возвращает входные данные (return context.input)
  2. Убедитесь, что тест проходит
  3. Постепенно добавляйте логику, тестируя каждый шаг
  4. Используйте console.log() для отладки промежуточных значений
Ограничения тестовой среды

При тестировании из редактора context.lastOutput, context.state и context.nodeOutputs будут пустыми, так как функция выполняется вне контекста рабочего процесса. Передавайте все необходимые данные через входные параметры. Для полного тестирования используйте запуск всего процесса.