由于结构中的某些问题,我的React应用程序中的单元测试用例失败

Nag*_*aju 4 office-ui-fabric

我是新来的响应者,也想使用office react ui来满足我们的要求之一,我遵循了git hub并能够在组件中使用office ui react组件,但是在为App.js运行我的第一个测试用例时,它在下面给了我错误。

E:\ net_react \ my-new-app \ ClientApp \ node_modules \ office-ui-fabric-react \ lib \ Fabric.js:1({“ Object。”:function(module,exports,require,__ dirname,__ filename,global ,jest){从'./components/Fabric/index'导出*; ^^^^^^

SyntaxError:意外的令牌导出

在Object的ScriptTransformer._transformAndBuildScript(node_modules / jest-runtime / build / ScriptTransformer.js:289:17)处。(src / components / Login.js:13:592),位于Object。(src / components / Home.js:2:14)

我的Login.js中有一个导入语句

import { Fabric } from '../../node_modules/office-ui-fabric-react/lib/Fabric';
Run Code Online (Sandbox Code Playgroud)

Cli*_*Koh 7

该错误是因为您的测试工具不支持ES 6模块(Fabric 6中的lib中有此功能)。

尝试改为从office-ui-fabric-react/lib-commonjs/Fabric或导入office-ui-fabric-react(除非您能够利用Tree Shaking进行打包,否则这将具有捆绑包的大小),或者修改测试工具的模块映射以将lib/导入重定向到lib-commonjs

更新资料

为了详细说明上述答案,Fabric发行说明提供了有关Jest配置的指南:

moduleNameMapper: {
    "office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1"
}
Run Code Online (Sandbox Code Playgroud)