javascript - 无法在测试中使用 amCharts:export { System, system } from "./.internal/core/System";
问题描述
我正在使用带有 react-create-app 的相当基本的站点设置,然后按照文档建议进行导入:
import * as am4core from '@amcharts/amcharts4/core'
使用图表时完全没有问题,但是当我在测试环境中运行它们时,它们会因以下错误而失败。
Details:
/var/www/management/node/node_modules/@amcharts/amcharts4/core.js:8
export { System, system } from "./.internal/core/System";
^^^^^^
SyntaxError: Unexpected token 'export'
2 | import React from 'react'
3 | import PropTypes from 'prop-types'
> 4 | import * as am4core from '@amcharts/amcharts4/core'
| ^
5 | import * as am4maps from '@amcharts/amcharts4/maps'
6 | import am4geodata_worldLow from '@amcharts/amcharts4-geodata/worldLow'
7 |
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (src/digitalAssetManager/Overview/components/ProvenanceChart/index.js:4:1)
版本
- amcharts4:v4.8.1
- 反应脚本:v3.3.0
出处图表/index.js
/* eslint-disable no-unused-vars */
import React from 'react'
import * as am4core from '@amcharts/amcharts4/core'
import * as am4maps from '@amcharts/amcharts4/maps'
import am4geodata_worldLow from '@amcharts/amcharts4-geodata/worldLow'
import am4themes_animated from '@amcharts/amcharts4/themes/animated'
import { theme } from 'config/theme'
am4core.useTheme(am4themes_animated)
class ProvenanceChart extends React.Component {
我不相信我在做任何与标准堆栈有明显不同的事情。
有问题的测试:
it('should render', () => {
expect(renderer.create(getComponent()).toJSON()).toMatchSnapshot()
})
项目 jest.config.js
module.exports = {
"roots": [
"<rootDir>/node/src"
],
"moduleFileExtensions": [
"js",
"jsx",
"json",
"node"
],
"verbose": true,
"testEnvironment": 'node',
"testURL": 'http://localhost:3000',
"setupFiles": ["jest-canvas-mock"],
"setupTestFrameworkScriptFile": "<rootDir>/src/setupTests.js"
//// setup file
//import { configure } from 'enzyme';
//import 'jest-canvas-mock';
//import Adapter from 'enzyme-adapter-react-16';
//configure({ adapter: new Adapter() });
}
然后终于跑了npm test