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

React+TypeScript项目执行npm test时jest-watch-typeahead初始化失败如何解决

报错截图:
报错截图

报错根因

你遇到的初始化watch插件报错,核心原因是依赖版本不兼容:项目内置的jest@26.6.0和jest-watch-typeahead@1.0.0版本不匹配,1.x版本的jest-watch-typeahead要求jest版本 >=27,低于该版本就会触发插件初始化失败。

修复步骤
  • 第一步:卸载当前不兼容的jest-watch-typeahead版本
    执行命令:
    npm uninstall jest-watch-typeahead
    
  • 第二步:安装和jest 26兼容的jest-watch-typeahead版本
    执行命令:
    npm install --save-dev jest-watch-typeahead@0.6.5
    
  • 第三步:清理jest缓存避免旧缓存影响
    执行命令:
    npm test -- --clearCache
    
  • 第四步:修正测试用例写法(可选,避免后续快照生成异常)
    你当前的浅渲染测试代码里,ShallowRenderer.render()没有返回值,需要调用getRenderOutput()获取渲染结果再做快照比对,修正后的代码如下:
    import React from "react";
    import ShallowRenderer from "react-test-renderer/shallow";
    import EngineeringArea from "./EngineeringArea";
    
    describe("EngineeringArea Screen", () => {
      it("EngineeringArea Screen renders correctly", () => {
        const renderer = ShallowRenderer.createRenderer();
        renderer.render(<EngineeringArea />);
        expect(renderer.getRenderOutput()).toMatchSnapshot();
      });
    });
    

注意:如果后续运行测试出现jest相关的类型报错,可将@types/jest版本降级到和jest匹配的26.x版本,执行命令:npm install --save-dev @types/jest@26

验证

执行npm test命令,测试即可正常运行,生成对应快照文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:06:03