Статьи

Пример тестовых данных JSON

Этот пример JSON с тестовыми данными является частью серии статей, которая была переписана в середине 2017 года с обновленной информацией и свежими примерами.

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

На ранних этапах разработчикам внешнего интерфейса потребуются данные для проверки созданных ими представлений. Внутренним разработчикам также нужны данные для тестирования логики CRUD, безопасности и других пользовательских бизнес-процессов, над которыми они работают. В обоих случаях тестовые данные часто недоступны в начале. Вы могли бы создать некоторые самостоятельно, однако, это медленно и часто приводит к неубедительным результатам.

К счастью, мы живем в эпоху, когда мы можем получить доступ к онлайн-сервисам, которые могут легко генерировать сотни строк тестовых данных бесплатно. Одним из таких сервисов является Mockaroo . Он поддерживает генерацию данных в нескольких форматах, включая JSON. Вот образец, который я получил с их сайта:

[{
  "id": 1,
  "first_name": "Jeanette",
  "last_name": "Penddreth",
  "email": "jpenddreth0@census.gov",
  "gender": "Female",
  "ip_address": "26.58.193.2"
}, {
  "id": 2,
  "first_name": "Giavani",
  "last_name": "Frediani",
  "email": "gfrediani1@senate.gov",
  "gender": "Male",
  "ip_address": "229.179.4.212"
}, {
  "id": 3,
  "first_name": "Noell",
  "last_name": "Bea",
  "email": "nbea2@imageshack.us",
  "gender": "Female",
  "ip_address": "180.66.162.255"
}, {
  "id": 4,
  "first_name": "Willard",
  "last_name": "Valek",
  "email": "wvalek3@vk.com",
  "gender": "Male",
  "ip_address": "67.76.188.26"
}]

Сервис предоставляет невероятные 132 поля, которые вы можете использовать для генерации тестовых данных для вашего приложения. Вы можете создать до 1000 строк тестовых данных бесплатно. Есть коммерческие планы, если вам нужно генерировать больше.

Если вы хотите лучше контролировать создаваемые данные, есть еще одна онлайн-служба, называемая json-generator, которая может иметь то, что вы ищете. Требуется ввод JavaScript для вывода настроенных тестовых данных в формате JSON. Смотрите пример ниже:

Ввод JavaScript:

 [
  '{{repeat(5, 7)}}',
  {
    _id: '{{objectId()}}',
    isActive: '{{bool()}}',
    balance: '{{floating(1000, 4000, 2, "$0,0.00")}}',
    age: '{{integer(20, 40)}}',
    eyeColor: '{{random("blue", "brown", "green")}}',
    name: '{{firstName()}} {{surname()}}',
    gender: '{{gender()}}',
    company: '{{company().toUpperCase()}}',
    email: '{{email()}}',
    phone: '+1 {{phone()}}',
    friends: [
      '{{repeat(3)}}',
      {
        id: '{{index()}}',
        name: '{{firstName()}} {{surname()}}'
      }
    ],
    favoriteFruit: function (tags) {
      var fruits = ['apple', 'banana', 'strawberry'];
      return fruits[tags.integer(0, fruits.length - 1)];
    }
  }
]

Вывод данных теста JSON (частичные результаты):

 [
  {
    "_id": "5973782bdb9a930533b05cb2",
    "isActive": true,
    "balance": "$1,446.35",
    "age": 32,
    "eyeColor": "green",
    "name": "Logan Keller",
    "gender": "male",
    "company": "ARTIQ",
    "email": "logankeller@artiq.com",
    "phone": "+1 (952) 533-2258",
    "friends": [
      {
        "id": 0,
        "name": "Colon Salazar"
      },
      {
        "id": 1,
        "name": "French Mcneil"
      },
      {
        "id": 2,
        "name": "Carol Martin"
      }
    ],
    "favoriteFruit": "banana"
  }
]

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

Вот другие примеры из этой серии: