测试失败,并出现SyntaxError:意外的令牌导出

时间:2019-01-19 00:40:49

标签: jestjs

将软件包“ office-ui-fabric-react”从“ 5.124.0”更新为“ 6.128.0”后,我的所有测试均失败,并出现以下错误:

 FAIL  src\***.test.tsx
  ● Test suite failed to run

\node_modules\office-ui-fabric-react\lib\Callout.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './components/Callout/index';
                                                                                         ^^^^^^

SyntaxError: Unexpected token export

  at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)

2 个答案:

答案 0 :(得分:0)

export用于ES模块,而由于Jest在Node中运行,因此需要通用的JS模块。有关如何使用TypeScript设置将其转换为普通JS的信息,请参见transformIgnorePatterns上的文档。

答案 1 :(得分:0)

如果您正在使用create-react-app,则可能不想将其弹出。

要在不弹出的情况下解决此问题,我们需要能够在不弹出的情况下修改笑话配置。

幸运的是,这个图书馆https://github.com/timarney/react-app-rewired

按照其说明在您的CRA项目中安装react-app-rewired

然后,您需要更改package.json以包括“玩笑”配置

"jest": {
  "moduleNameMapper": {
    "office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1"
  },
 "transformIgnorePatterns": [
   "node_modules/(?!office-ui-fabric-react)"
 ]
}

资源:https://github.com/OfficeDev/office-ui-fabric-react/wiki/Fabric-6-Release-Notes