回答

0

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(); 
+0

如果有人有更好的選擇來實現這一點,請張貼您的答案 –

相關問題