[{"data":1,"prerenderedAt":408},["ShallowReactive",2],{"header-latest-ru":3},[4],{"id":5,"title":6,"body":7,"date":375,"description":376,"extension":377,"faq":378,"image":394,"lang":395,"meta":396,"navigation":397,"path":398,"published":397,"readTime":371,"seo":399,"stem":400,"tags":401,"updated":406,"__hash__":407},"blog\u002Fblog\u002Fru\u002Fdata-mocker.md","От ручных фикстур до Data Mocker в браузере",{"type":8,"value":9,"toc":363},"minimark",[10,14,19,22,34,43,57,61,69,74,293,297,331,335,349,355,359],[11,12,13],"p",{},"В разработке есть задачи, которые нельзя автоматизировать целиком — но можно свести к двум кликам. Подготовка тестовых данных — одна из них.",[15,16,18],"h2",{"id":17},"от-ручных-фикстур-к-fakerjs","От ручных фикстур к Faker.js",[11,20,21],{},"Долгое время единственным способом получить тестовые данные было написать их руками. Десять JSON-объектов с выдуманными именами, адресами и телефонами — это рутина, которую нельзя делегировать, но можно автоматизировать.",[11,23,24,25,29,30,33],{},"В 2012 году ",[26,27,28],"strong",{},"Марак Скуайрс"," (Marak Squires) опубликовал ",[26,31,32],{},"Faker.js"," — библиотеку, которая генерирует реалистичные данные: имена, адреса, номера телефонов, email, текст и многое другое. Библиотека быстро стала стандартом де-факто — её порты появились для PHP (FakerPHP), Python (Faker), Ruby (Faker) и других языков.",[11,35,36,37,42],{},"Идея проста: вместо того чтобы придумывать «Иван Петров, ",[38,39,41],"a",{"href":40},"mailto:ivan@example.com","ivan@example.com",", +7 123 456-78-90» руками, вы говорите генератору: «дай мне 50 пользователей с именем, email и телефоном» — и получаете готовый массив.",[11,44,45,46,52,53,56],{},"У Faker.js есть довольно драматичная предыстория. В январе 2022 года Скуайрс, недовольный тем, что компании используют его бесплатный труд, ничего не платя взамен, намеренно выпустил испорченную версию faker.js (а заодно и своего другого популярного пакета colors.js), которая сломала тысячи зависимых проектов — включая инструменты на базе AWS CDK. npm откатил вредоносные версии, но собственный пакет Скуайрса после этого фактически оказался заброшен. Сообщество форкнуло последнюю чистую версию под именем ",[26,47,48],{},[49,50,51],"code",{},"@faker-js\u002Ffaker"," — именно этот форк активно поддерживается и используется сегодня; оригинальный пакет ",[49,54,55],{},"faker"," на npm теперь помечен как deprecated.",[15,58,60],{"id":59},"data-mocker-конструктор-схемы-в-браузере","Data Mocker: конструктор схемы в браузере",[11,62,63,64,68],{},"Faker.js — мощный инструмент, но для разовой задачи устанавливать библиотеку и писать скрипт — избыточно. ",[38,65,67],{"href":66},"\u002Ftools\u002Fdata-mocker","Data Mocker"," решает ту же проблему без установки:",[70,71,73],"h3",{"id":72},"_18-типов-полей","18 типов полей",[75,76,77,90],"table",{},[78,79,80],"thead",{},[81,82,83,87],"tr",{},[84,85,86],"th",{},"Тип",[84,88,89],{},"Что генерирует",[91,92,93,104,114,124,134,144,154,164,174,192,202,220,230,240,250,260,270,283],"tbody",{},[81,94,95,101],{},[96,97,98],"td",{},[26,99,100],{},"Primary Key",[96,102,103],{},"Автоинкрементные ID (1, 2, 3…) с настройкой стартового значения",[81,105,106,111],{},[96,107,108],{},[26,109,110],{},"Name",[96,112,113],{},"Случайные полные имена (имя + фамилия)",[81,115,116,121],{},[96,117,118],{},[26,119,120],{},"Email",[96,122,123],{},"Реалистичные email из случайного имени + домена",[81,125,126,131],{},[96,127,128],{},[26,129,130],{},"UUID",[96,132,133],{},"Уникальные идентификаторы (v4)",[81,135,136,141],{},[96,137,138],{},[26,139,140],{},"Phone",[96,142,143],{},"Номера телефонов",[81,145,146,151],{},[96,147,148],{},[26,149,150],{},"Avatar URL",[96,152,153],{},"URL-адреса заглушек для аватаров",[81,155,156,161],{},[96,157,158],{},[26,159,160],{},"ISO Date",[96,162,163],{},"Случайные даты за последние 2 года",[81,165,166,171],{},[96,167,168],{},[26,169,170],{},"Price",[96,172,173],{},"Случайные десятичные цены (0–1000)",[81,175,176,181],{},[96,177,178],{},[26,179,180],{},"Number",[96,182,183,184,187,188,191],{},"Целые числа с настраиваемым количеством знаков (например, ",[49,185,186],{},"3"," для 100–999, ",[49,189,190],{},"1-4"," для 1–9999)",[81,193,194,199],{},[96,195,196],{},[26,197,198],{},"Boolean",[96,200,201],{},"Случайный true\u002Ffalse",[81,203,204,209],{},[96,205,206],{},[26,207,208],{},"Text \u002F Lorem",[96,210,211,212,215,216,219],{},"Lorem ipsum — настраиваемые абзацы (",[49,213,214],{},"3p",") или диапазон символов (",[49,217,218],{},"100-500",")",[81,221,222,227],{},[96,223,224],{},[26,225,226],{},"City",[96,228,229],{},"Случайные названия городов из пула 40 городов",[81,231,232,237],{},[96,233,234],{},[26,235,236],{},"Country",[96,238,239],{},"Случайные названия стран из пула 40 стран",[81,241,242,247],{},[96,243,244],{},[26,245,246],{},"Company",[96,248,249],{},"Случайные названия компаний (Acme Corp, Stark Industries и др.)",[81,251,252,257],{},[96,253,254],{},[26,255,256],{},"URL",[96,258,259],{},"Случайные URL со схемой, доменом и путём",[81,261,262,267],{},[96,263,264],{},[26,265,266],{},"IPv4",[96,268,269],{},"Случайные IP-адреса",[81,271,272,277],{},[96,273,274],{},[26,275,276],{},"Enum",[96,278,279,280,219],{},"Случайный выбор из ваших значений через запятую (например, ",[49,281,282],{},"active, inactive, pending",[81,284,285,290],{},[96,286,287],{},[26,288,289],{},"Custom",[96,291,292],{},"Свой текст, который вы вводите сами",[70,294,296],{"id":295},"управление-схемами","Управление схемами",[298,299,300,307,313,319,325],"ul",{},[301,302,303,306],"li",{},[26,304,305],{},"Автосохранение"," — текущая схема сохраняется в localStorage при каждом изменении. Перезагрузите страницу — всё на месте.",[301,308,309,312],{},[26,310,311],{},"Сохранение \u002F Загрузка"," — сохраняйте именованные схемы для повторного использования. Нажали Save, ввели имя — готово. Load показывает список сохранённых схем.",[301,314,315,318],{},[26,316,317],{},"Обновление"," — сохранение с существующим именем перезаписывает схему. Кнопка автоматически меняется на «Update».",[301,320,321,324],{},[26,322,323],{},"Сброс"," — одно нажатие восстанавливает дефолтную схему.",[301,326,327,330],{},[26,328,329],{},"Экспорт \u002F Импорт"," — скачайте схему как JSON-файл или загрузите схему из файла. Делитесь схемами с командой.",[70,332,334],{"id":333},"вывод","Вывод",[298,336,337,340,343,346],{},[301,338,339],{},"Количество строк от 1 до 200 — через контрол со ступенчатым шагом",[301,341,342],{},"Переключение между JSON и CSV",[301,344,345],{},"Копирование в буфер обмена или скачивание файла",[301,347,348],{},"Предпросмотр обновляется в реальном времени при редактировании схемы",[11,350,351,354],{},[26,352,353],{},"Быстрый старт:"," откройте инструмент → нажмите «Add field» несколько раз → выберите типы (Name, Email, UUID) → задайте 10 строк → скопируйте JSON — готовый набор тестовых данных для вашего компонента.",[15,356,358],{"id":357},"похожие-инструменты","Похожие инструменты",[360,361],"related-tools",{":slug":362},"[\"data-mocker\",\"json-toolbox\",\"sql-formatter\",\"regex-tester\"]",{"title":364,"searchDepth":365,"depth":365,"links":366},"",2,[367,368,374],{"id":17,"depth":365,"text":18},{"id":59,"depth":365,"text":60,"children":369},[370,372,373],{"id":72,"depth":371,"text":73},3,{"id":295,"depth":371,"text":296},{"id":333,"depth":371,"text":334},{"id":357,"depth":365,"text":358},"2026-08-30","Почему реалистичные фикстуры лучше ручного JSON и как локальный Data Mocker создаёт JSON или CSV по схеме с 18 типами полей.","md",[379,382,385,388,391],{"q":380,"a":381},"Зачем нужен генератор тестовых данных?","При разработке фронтенда или тестировании API нужны реалистичные данные — пользователи, заказы, товары. Вбивать их руками долго и скучно. Генератор мок-данных создаёт набор записей по заданной схеме за секунду.",{"q":383,"a":384},"Что такое Faker.js?","Faker.js — библиотека для генерации фейковых данных, созданная Мараком Скуайрсом (Marak Squires) в 2012 году. Она умеет генерировать имена, адреса, телефоны, email, текст и многое другое на десятках языков. Оригинальный пакет больше не поддерживается — в январе 2022 года Скуайрс намеренно саботировал собственный faker.js в знак протеста, и сегодня самая популярная и активно поддерживаемая версия в экосистеме JavaScript — это форк сообщества @faker-js\u002Ffaker.",{"q":386,"a":387},"Data Mocker отправляет мои данные на сервер?","Нет. Data Mocker полностью работает в браузере. Все данные генерируются на месте, ничего не отправляется на сервер.",{"q":389,"a":390},"Чем Data Mocker отличается от Faker.js?","Faker.js — это библиотека для Node.js, которую нужно устанавливать и подключать. Data Mocker — это готовая веб-страница: открыл, настроил схему, скопировал JSON или CSV. Не требует установки, подходит для разовой генерации.",{"q":392,"a":393},"Можно ли сохранять и переиспользовать схемы?","Да. Data Mocker автоматически сохраняет текущую схему в localStorage. Также можно сохранять именованные схемы, загружать их позже, сбрасывать на дефолты или экспортировать\u002Fимпортировать схемы как JSON-файлы.","\u002Fimages\u002Fblog\u002Fblog_data-mocker.webp","ru",{},true,"\u002Fblog\u002Fru\u002Fdata-mocker",{"title":6,"description":376},"blog\u002Fru\u002Fdata-mocker",[402,32,403,404,67,405],"генерация тестовых данных","mock data","тестовые фикстуры","schema builder",null,"3sSReefrg27eEv_OgUCvHqkxuue5QPCPJY-PcRxsjXE",1788079950523]