Все статьи

Mock JSON Generator: зачем нужны фейковые данные

Разработка фронтенда часто начинается раньше, чем бекенд готов отдавать реальные данные. Вместо того чтобы ждать рабочий API, можно сгенерировать реалистичные тестовые JSON-данные нужной формы и начать работу сразу.

Что такое мок-данные

Мок (mock) JSON — это сгенерированные, но структурно правдоподобные данные: имена, которые выглядят как настоящие имена, даты в правильном формате, идентификаторы нужного вида. В отличие от тестовых значений вроде "test123", реалистичные моки сразу показывают, корректно ли интерфейс обрабатывает длинные имена, пустые поля или специфические форматы дат.

Зачем это нужно

  • Начать разработку интерфейса до того, как бекенд-команда закончит работу над API.
  • Тестировать, как интерфейс ведёт себя с большим количеством записей, без необходимости наполнять настоящую базу данных.
  • Создать демо или прототип, не раскрывая реальные данные пользователей.
  • Писать автотесты, которые не зависят от состояния внешнего сервиса или базы данных.

Российская адресная форма как ловушка для мок-данных

Российский почтовый адрес традиционно пишут «от общего к частному»: индекс (6 цифр, например 101000), область или республика, город, улица, дом, квартира — в обратном порядке относительно американского street, city, state, ZIP. Шаблон с плейсхолдером {{city}} и отдельным полем индекса, который просто конкатенирует поля через запятую в «западном» порядке, даст синтаксически корректный, но узнаваемо неправильный для русскоязычного пользователя адрес — если в интерфейсе адрес выводится одной строкой, порядок полей стоит проверять руками, а не полагаться на универсальный шаблон.

На что обратить внимание

Мок-данные хорошо воспроизводят форму и типы реальных данных, но не бизнес-логику или взаимосвязи между записями. Перед выходом в продакшн код всё равно нужно проверить на настоящем API — моки лишь ускоряют ранние этапы разработки.

Реалистичные edge cases в моках

Хороший генератор моков намеренно включает «неудобные» значения — очень длинные имена, пустые строки, кириллические и смешанные с латиницей строки, нулевые или отрицательные числа, даты на границе диапазона. Кириллица в JSON-строке не требует экранирования (JSON изначально работает в UTF-8), но именно смешение кириллицы и латиницы в одном поле — частый источник багов в валидации и сортировке, которые не всплывают на моках вроде "John Doe".

Попробовать инструмент