求助:API测试报错Invalid Chai property: status,此前运行正常
问题排查:Invalid Chai property: status
出现这个错误的核心原因是Chai核心库本身没有status这个断言方法,你之前能正常运行,大概率是依赖的chai-http插件缺失或未正确启用。以下是具体解决步骤:
解决方案1:直接断言响应状态码属性(无需额外插件)
把expect(res).to.have.status(200)替换为Chai原生支持的断言方式,直接校验响应对象的status属性:
expect(res.status).to.equal(200);
这种方式不需要任何额外插件,利用Chai核心的equal断言即可完成校验,简单直接。
解决方案2:安装并启用chai-http插件
如果坚持想用to.have.status()语法,需要补充安装并启用chai-http插件:
- 安装依赖:
npm install chai-http --save-dev
- 在代码中添加插件启用语句:
import supertest from "supertest"; var chai = require('chai'); import { expect } from 'chai'; chai.use(require('chai-json-schema')); chai.use(require('chai-http')); // 新增这一行启用插件 const request = supertest("https://graana.rocks/api/");
额外注意事项
- 代码中
CheckSchema变量未定义,后续运行会触发新错误,记得补充定义该JSON Schema对象。 - 当前代码混合使用了
import和require模块导入方式,虽然不影响当前问题,但建议统一导入风格,避免潜在兼容性问题。
内容的提问来源于stack exchange,提问作者Wajih Haider
相关产品推荐
相关产品推荐

