什么是Expect函数来验证JEST和Supertest中的模式?

时间:2017-06-19 06:46:06

标签: supertest jest babel-jest supertest-as-promised jest-fetch-mock

就像在chakram测试{% if search_id == "abc" %} {{ transaction.abc }} {% elif search_id == "pqr" %} {{ transaction.pqr }} {% endif %} 中一样。同样在Jest中有哪些功能?我正在使用超级玩笑。

1 个答案:

答案 0 :(得分: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();