首页 > 解决方案 > 开玩笑使用 ES6 导入/导出 SyntaxError: Unexpected token'export' 出现错误

问题描述

我正在测试反应容器。这个容器使用我的自定义装饰器。装饰器文件放在项目外的公用文件夹中。使用 ES6 导出语法。当我运行 jest 时,我得到 SyntaxError: Unexpected token'export',我尝试我尝试了以下解决方案,但没有办法解决它。我也试过 jest v25.4.0 和 v27.1.0 也没有办法。

Jest 是否支持 ES6 导入/导出?
使用 babel 时出现意外的保留字“导入”

以下是我目前的配置

容器

import React from 'react';
import {decorator} from '../../../../common/decorator/decorator';

const TestContainer = (props) => {

    return (
        <>...</>
    );
};


export const Container= decorator.before(TestContainer, xxxx);


装饰师:

const decorator = (function () {
    const before = function (target, isHandler) {
        let self = target;
        return function () {
            isHandler.apply(this, arguments);
            return self.apply(this, arguments);
        }
    }

    return {
        before: before,
    }
})();

export {
    decorator
};

测试文件:

import React from 'react';
import {render} from '@testing-library/react';
import {Container} from '../container';

describe('container testing', () => {
    it('should render container title into dom', () => {
        const {getByTestId} = render(Container);
    });
});

jest.config.js:

module.exports = {
    verbose: true,
    testEnvironment: 'jest-environment-node',
    collectCoverageFrom: [
        '!<rootDir>/src/registerServiceWorker.js',
        '!<rootDir>/src/serviceWorker.js',
        '!<rootDir>/node_modules/',
    ],
    moduleNameMapper: {
        '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'identity-obj-proxy',
        '\\.(css|less|scss|sass)$': 'identity-obj-proxy',
    },
};

.babelrc

{
  "presets": [
    "@babel/preset-react",
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ],
  "plugins": [
    "@babel/plugin-transform-runtime"
  ],
  "env": {
    "test": {
      "plugins": ["@babel/plugin-transform-modules-commonjs"]
    }
  }
}

脚本:

 "test": "jest --watchAll",

标签: reactjsunit-testingjestjses6-modulesbabel-jest

解决方案


推荐阅读