启动Jest 29.7.0出现setup-jest.js弃用警告,如何解决?
问题原因及修复方案
原因
这个警告来自jest-preset-angular的版本更新——官方已经弃用了直接导入setup-jest.js的方式,未来版本会彻底移除这个文件,转而使用setupZoneTestEnv函数来初始化Angular测试所需的Zone.js环境,你的配置还在沿用旧的导入方式,所以触发了弃用警告。
修复步骤
你之前直接移除jest.config.js里的setupFilesAfterEnv是不对的,这个配置是Jest用来加载测试初始化脚本的,不能直接删掉,正确操作是替换成新的初始化逻辑:
- 创建或修改你的测试初始化文件(比如命名为
setup-jest.ts,用JS就改成.js),写入以下内容:
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; setupZoneTestEnv();
- 在
jest.config.js里配置setupFilesAfterEnv指向这个新文件,示例配置如下:
module.exports = { // 其他已有的Jest配置... setupFilesAfterEnv: ['<rootDir>/setup-jest.ts'], // 其他已有的Jest配置... };
这里的<rootDir>是Jest默认的项目根目录变量,确保你的setup文件路径和实际位置匹配。
- 保存配置后重新启动Jest,弃用警告就会消失,同时也不会因为缺少初始化脚本出现新的提示。
内容的提问来源于stack exchange,提问作者Janos Vinceller
相关产品推荐
相关产品推荐

