运行npx jest时报错:Test suite failed to run 或者Cannot use import statement outside a module解决方法如下:

  1. 在package.json中设置"type": "module"
    如果没有package.json,终端使用npm init -y生成
  2. 使用babel转换es6语法
    jest是运行在node环境的,所以不支持es6语法,我们需要通过配置babel将es6语法转换为es5语法。
    具体步骤如下
  • 安装babel-jest、@babel/core、@babel/preset-env
  • npm i babel-jest @babel/core @babel/preset-env -D
  • 在根目录新建babel.config.js文件,添加如下配置:
module.exports = {
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": true
        }
      }
    ]
  ]
}

接下来执行单测就没有问题啦

PS:如果以上方法试完不可行,尝试删掉node_modules和package.json等依赖文件,重新按照流程走一遍就没问题啦!

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐