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

Node.js v14配置Jest时出现'test is not a function'错误

解决Jest中test函数未定义的问题

针对你在Node.js v14非模块项目里遇到的Jest test 函数找不到的问题,给你几个可行的解决办法:

1. 确保本地安装Jest并正确配置脚本

全局安装Jest容易出现环境不一致的问题,推荐把Jest作为项目开发依赖安装:

npm install --save-dev jest

然后在package.json里添加测试脚本:

{
  "scripts": {
    "test": "jest"
  }
}

之后用npm test运行测试,而不是直接敲jest命令,这样能确保调用的是项目本地安装的Jest版本,避免全局环境的冲突。

2. 手动导入测试全局变量

如果全局注入依然失效,可以在测试文件顶部手动导入test、expect这些方法,从@jest/globals包导入(该包会随Jest一起安装):

const { test, expect } = require('@jest/globals');

test('mytest', async function() {
  // 你的测试逻辑
});

3. 检查Jest配置文件

如果项目里有jest.config.js,检查是否有配置覆盖了全局变量注入。比如确认globals选项没有禁用相关变量,或者testEnvironment设置正确(Node.js项目推荐用node环境):

module.exports = {
  testEnvironment: 'node',
  globals: {
    // 确保这里没有覆盖test、expect等变量
  }
};

4. 确认测试文件命名规范

Jest默认只会识别命名为*.test.js或*.spec.js的文件,以及__tests__目录下的文件,确保你的测试文件名符合这个规范,避免Jest没有加载到测试文件导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:50:37