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

Jest测试React组件时CSS文件@字符引发语法错误求助

解决Jest测试React组件时CSS文件@字符触发的SyntaxError错误

Jest是JavaScript测试工具,默认无法解析CSS这类非JS文件,当组件导入包含@charset、@import等CSS语法的文件时,就会触发SyntaxError: Invalid or unexpected token错误。以下是两种简单的解决方法:

方法1:使用jest-transform-stub转译CSS文件

  • 安装依赖包:
    npm install --save-dev jest-transform-stub
    
  • 修改你的jest.config.json,添加transform规则:
    {
      "transform": {
        "^.+\\.jsx?$": "babel-jest",
        "^.+\\.css$": "jest-transform-stub"
      }
    }
    

方法2:手动Mock CSS文件

如果不想额外安装依赖,可以直接用Jest的模块映射功能Mock CSS:

  • 在jest.config.json中添加moduleNameMapper配置:
    {
      "moduleNameMapper": {
        "^.+\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
      }
    }
    
  • 在项目根目录创建__mocks__文件夹,里面新建styleMock.js文件,内容如下:
    module.exports = {};
    

验证修改

保存配置后,重新运行测试命令:

npm test

此时Jest会忽略CSS文件的解析,不再触发@字符相关的语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:05:55