使用chai做jsonSchema断言报Invalid Chai property错误如何解决
报错原因
chai原生不内置jsonSchema断言能力,你未安装、注册对应的chai扩展插件,导致chai无法识别jsonSchema这个自定义属性,因此抛出该错误。
解决步骤
- 安装json schema断言所需的chai插件:
执行命令安装chai-json-schema依赖:npm install chai-json-schema --save-dev - 注册插件到chai实例:
在测试文件顶部,或者全局测试前置配置文件中添加如下代码:const chai = require('chai'); const chaiJsonSchema = require('chai-json-schema'); // 注册插件,注册完成后chai就会支持jsonSchema断言 chai.use(chaiJsonSchema); const expect = chai.expect; - 重新运行测试即可,原有断言代码
expect(response).to.be.jsonSchema(expectedResponse)无需修改即可正常执行。
注意事项
- 若项目使用ESM导入规范,将上述CommonJS的
require语法替换为对应的import导入语法即可,插件注册逻辑不变。 - 后续如果遇到同类
Invalid Chai property报错,本质都是对应断言方法的插件未注册,优先排查对应插件的安装、注册流程即可。
内容的提问来源于stack exchange,提问作者user3690888
相关产品推荐
相关产品推荐

