Как я могу проверить структуру данных? - PullRequest
0 голосов
/ 13 мая 2019

Я создаю API с помощью NestJS и typeorm. Мне нужно проверить структуру данных, которые отправляются обратно клиенту, который выполняет запросы к нему.

Например, я мог бы ожидать, что маршрут /players отправит некоторые данные со структурой, которая выглядит следующим образом (пример TypeScript):

[
    {
        id: number,
        name: string,
        hasCats: boolean, // optional
        birthday: date-time,
        team: {
            id: number,
            name: string
        }
    },
    ...
]

Я не нашел инструмента, который позволил бы мне проверить, что данные, отправленные обратно клиенту, следуют этому шаблону. Следовательно, я должен написать свою собственную функцию. Для шаблона я использую данные документации, предоставленные Swagger в виде JSON на маршруте /api-json.

Есть ли инструмент для проверки структуры некоторых данных?

1 Ответ

0 голосов
/ 13 мая 2019

В качестве альтернативы использованию другой библиотеки, вы можете просто использовать jest's any matcher для утверждения структуры объекта:

results.forEach(result => expect(result).toEqual({
      id: expect.any(Number),
      name: expect.any(String),
      date: expect.any(Date)
    }),
  ));
...