Вступление
Что мы хотим получить
Зачем тестировщику mock API
Mockoon
Шаг 1. Установка Mockoon
Шаг 2. Создание mock API
Несколько ответов для одного endpoint
Шаг 3. Запуск mock сервера
Проверка локально
Ngrok: доступ к mock API из интернета
Шаг 4. Установка и запуск ngrok
Проверка публичного URL
Что ещё полезно тестировщику в Mockoon
Типовые кейсы применения
Итоги

Вступление: реальность тестировщика

Если вы работаете тестировщиком, то почти наверняка сталкивались с ситуациями:

  • бэкенд ещё не готов, а тестировать фронт уже нужно;

  • API нестабильно, ответы постоянно меняются;

  • нужно проверить, как система ведёт себя при 404, 500 или пустых ответах;

  • нужно принять webhook от стороннего сервиса, но «боевой» сервер трогать нельзя.

В такие моменты тестирование либо откладывается, либо превращается в ручную имитацию ответов — «представим, что сервер вернул вот это».

Хорошая новость в том, что сегодня тестировщик может сам поднять управляемый API — без помощи разработчиков и без написания серверного кода.

В статье я покажу практическую связку:

  • Mockoon — для создания mock API

  • ngrok — для доступа к этим мокам из интернета

С фокусом именно на повседневные задачи QA.

Что мы хотим получить

В результате у тестировщика появляется:

  • локальный API с полностью контролируемыми ответами;

  • возможность эмулировать любые сценарии (200, 400, 404, 500);

  • публичный URL для webhook’ов и внешних систем.

Общая схема выглядит так:

Внешний сервис / фронт
          ↓
     ngrok (публичный URL)
          ↓
    localhost:3000
          ↓
        Mockoon
          ↓
      JSON-ответы

Зачем тестировщику mock API

Mock API — это в первую очередь инструмент контроля.

Он позволяет исключить нестабильность окружения и тестировать именно логику приложения, а не гадать, что на этот раз сломалось на сервере.

Типовые задачи QA, которые решаются моками

  • тестирование фронта без реального бэкенда;

  • воспроизведение редких и трудноуловимых ошибок;

  • проверка обработки невалидных и граничных данных;

  • тестирование таймаутов и задержек;

  • тестирование интеграций и webhook’ов.

Для тестировщика это означает главное — предсказуемость и воспроизводимость.

Mockoon — инструмент, понятный тестировщику

Официальный сайт: https://mockoon.com/

Mockoon — это desktop‑приложение с графическим интерфейсом, которое позволяет создать mock API буквально за несколько минут.

Сайт Mockoon
Сайт Mockoon

Почему Mockoon хорошо подходит для QA

  • не требует знания backend‑фреймворков;

  • не нужно писать код;

  • понятный и наглядный интерфейс;

  • легко переключать ответы для одного endpoint;

  • можно хранить сценарии и переиспользовать их.

Шаг 1. Установка Mockoon

Скачиваем приложение:

https://mockoon.com/download

Устанавливаем и запускаем.

Стартовый экран Mockoon
Стартовый экран Mockoon

Шаг 2. Создание mock API

Добавляем endpoint

Создадим простой маршрут:

  • Method: GET

  • Path: /content/param1

добавление route
добавление route

Настраиваем ответ

Response body:

{
  "id": 1,
  "name": "Darth Vader",
  "realName": "Anakin Skywalker",
  "universe": "Star Wars",
  "role": "Sith Lord",
  "weapon": "Red lightsaber",
  "quote": "I am your father"
}

Status code: 200

настройка response body
настройка response body

Несколько ответов для одного endpoint

В реальном тестировании одного «счастливого» ответа почти никогда не бывает достаточно.

Mockoon позволяет задать несколько responses для одного endpoint и управлять тем, какой именно ответ вернётся.

Для этого:

  1. Нажимаем Add response

кнопка Add response
кнопка Add response
  1. Заполняем тело ответа, который хотим вернуть

новый response body
новый response body
  1. Задаём правило (rule), по которому будет выбираться этот ответ

настройка rules
настройка rules

По тому же принципу добавляем ответ с ошибкой, например 404.

response с ошибкой
response с ошибкой

В итоге у нас есть несколько ответов. Обратите внимание: ответ 404 ERR-JEDI-MIND-TRICK выделен синим флажком — это означает, что он будет возвращаться по умолчанию, если ни одно из правил не сработало, данный флажок можно изменить и перенести на другой ответ.

404 ERR-JEDI-MIND-TRICK` выделен синим флажком
404 ERR-JEDI-MIND-TRICK` выделен синим флажком

Шаг 3. Запуск mock сервера

Нажимаем ▶ Start server.

API становится доступен локально:

http://localhost:3000/content/param1
запуск сервера
запуск сервера

Проверка локально

Открываем Postman или браузер:

http://localhost:3000/content/param1

Если вернулся JSON — mock работает.

Postman с первым ответом
Postman с первым ответом
Postman со вторым ответом
Postman со вторым ответом
Postman с ошибкой
Postman с ошибкой

Ngrok: доступ к mock API из интернета

Официальный сайт: https://ngrok.com/

Ngrok позволяет дать вашему локальному mock API публичный HTTPS‑адрес.

Для тестировщика это особенно полезно при тестировании:

  • webhook’ов;

  • внешних интеграций;

  • мобильных приложений;

  • систем, которые не могут обратиться к localhost.

сайт ngrok
сайт ngrok

Шаг 4. Установка и запуск ngrok

Скачиваем ngrok:

https://ngrok.com/download

Добавляем токен (нужно сделать один раз):

ngrok config add-authtoken YOUR_TOKEN

Запускаем проброс порта Mockoon:

ngrok http 3000
ngrok в терминале
ngrok в терминале

Проверка публичного URL

Ngrok выдаст адрес вида:

https://valued-unvolitive-lindsay.ngrok-free.dev

Полный запрос:

https://valued-unvolitive-lindsay.ngrok-free.dev/content/param1

Теперь проверим тот же endpoint из Postman.

Postman с публичным URL - первый ответ
Postman с публичным URL - первый ответ
Postman с публичным URL - второй ответ
Postman с публичным URL - второй ответ
Postman с публичным URL - ошибка
Postman с публичным URL - ошибка

Что ещё полезно тестировщику в Mockoon

  • несколько ответов для одного endpoint;

  • быстрое переключение между 200 / 404 / 500;

  • задержки ответа (latency);

  • тестирование негативных сценариев.

настройка latency
настройка latency

Типовые кейсы применения

  • тестирование фронта без бэкенда;

  • приём webhook’ов от сторонних сервисов;

  • проверка обработки ошибок;

  • демонстрация багов разработчику с воспроизводимым сценарием.

Итоги

Связка Mockoon + ngrok даёт тестировщику:

  • независимость от бэкенда;

  • полный контроль над тестовыми данными;

  • воспроизводимость багов;

  • удобный инструмент для интеграционного тестирования.

Это один из тех инструментов, которые действительно повышают эффективность QA и снимают зависимость от внешних факторов.