首页 > 解决方案 > 如何测试数据的结构?

问题描述

我正在用 NestJS 和 typeorm 构建一个 API。我需要测试发送回对它执行请求的客户端的数据结构。

例如,我可以期望路由/players发送一些具有如下结构的数据(TypeScript 示例):

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

我发现没有工具可以让我检查发送回客户端的数据是否遵循这种模式。因此我必须编写自己的函数。对于该模式,我使用 Swagger 在 route 上以 JSON 形式提供的文档数据/api-json

是否有用于测试某些数据结构的工具?

标签: javascripttypescripttestingnestjs

解决方案


或者使用另一个库,您可以使用 jest 的任何匹配器来断言对象的结构:

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

推荐阅读