Невозможно использовать amCharts в тестах: экспорт {System, system} из "./.internal/core/System"; - PullRequest
0 голосов
/ 17 февраля 2020

Я использую довольно базовую c настройку сайта с реакцией-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
  • response-scripts: v3. 3.0

ProvenanceChart / 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()
  })

Project 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

...