0

就像在脉轮测试中一样 expect(WallObject).to.have.schema(expectedSchema)。同样,Jest 中有哪些功能?我正在使用超级测试的笑话。

4

1 回答 1

1

JEST 中没有任何东西可以直接测试模式。我在 AJV 的帮助下实现了这一目标。使用 AJV,我将模式与响应进行比较,然后使用 Jest 期望检查值是否为真。喜欢

const Ajv = require('ajv');

const ajv = new Ajv({
  allErrors: true,
  format: 'full',
  useDefaults: true,
  coerceTypes: 'array',
  errorDataPath: 'property',
  sourceCode: false,
});

const validateParams = (params, schema) => {
  const validate = ajv.compile(schema);
  const isValidParams = validate(params);
  return isValidParams;
};

 const result = validateParams(res.body, {
        type: 'array',
        items: {
          type: 'object',
          properties: {
            id: {
              type: 'integer',
            },
            email: {
              type: 'string',
            },
         }
      }
    });

 expect(result).toBe(true);
 done();
于 2017-06-22T05:28:39.150 回答