You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expect库报错TypeError: expect(...).toInclude is not a function求助

解决Expect库中expect(...).toInclude is not a function报错问题

我之前升级Expect库时也碰到过一模一样的报错,结合最新版库的API变化,给你梳理几个最可能的原因和对应的解决办法:

1. API名称已变更(最常见的坑)

最新版本的Expect库已经把toInclude这个断言方法改名为toContain了!这是官方为了和其他测试库的命名风格统一做的调整。你只需要把代码里的toInclude替换成toContain就能解决问题,举个例子:

原来的错误代码:

expect(['apple', 'banana', 'orange']).toInclude('banana');

修改后的正确代码:

expect(['apple', 'banana', 'orange']).toContain('banana');

2. 导入方式不正确

如果API替换后还是报错,那大概率是导入环节出了问题。要确保你导入的是官方Expect库的正确导出:

  • 如果你用ES模块(import语法):

    import { expect } from 'expect';
    // 或者如果你是和Jest一起用,导入@jest/expect更稳妥
    import { expect } from '@jest/expect';
    
  • 如果你用CommonJS(require语法):

    const { expect } = require('expect');
    

别误导入了某个子模块或者第三方的Expect衍生库,那样会导致方法缺失。

3. 确认安装的是官方Expect包

有时候可能不小心装了类似expect.js这类第三方断言库,而不是官方的expect包。你可以打开项目的package.json检查依赖项:

"devDependencies": {
  "expect": "^29.7.0" // 确保是这个官方包,版本号可能不同
}

如果发现装错了包,先卸载错误的,再重新安装官方版本:

npm uninstall expect.js # 替换成你装错的包名
npm install expect --save-dev

4. 排查测试库冲突问题

如果你的项目里同时用了Mocha、Chai这类其他测试框架,可能会和Expect的全局变量或者API产生冲突。这种情况下,建议明确使用Expect的断言方法,或者调整测试配置,避免全局环境被多个库污染。

内容的提问来源于stack exchange,提问作者user8236024

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:15:10