首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JEST和Supertest中验证模式的Expect函数是什么?

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

Stack Overflow用户
提问于 2017-06-19 14:46:06
回答 1查看 1.4K关注 0票数 0

就像在chakram测试expect(WallObject).to.have.schema(expectedSchema)中一样。类似地,Jest中有哪个函数?我在supertest中使用jest。

EN

回答 1

Stack Overflow用户

发布于 2017-06-22 13:28:39

JEST中没有任何东西可以直接测试模式。我在AJV的帮助下做到了这一点。我使用AJV比较模式和响应,然后使用Jest expect检查值是否为真。喜欢

代码语言:javascript
复制
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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44623864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档