web-dev-qa-db-ja.com

Jest-SyntaxError:モジュールの外部ではimportステートメントを使用できません

jest:24.9.0を構成せずに使用しており、create-react-appからグローバルにインストールしています。これらのファイルの内部では、es6モジュールを使用しています。 "test": "react-scripts test"を使用してもエラーは発生しません

ただし、"test": "jest --config jest.config.js",jestを使用するように移動すると、次のエラーが表示されます。

 FAIL  src/configuration/notifications.test.js
  ● Test suite failed to run

    /var/www/management/node/src/configuration/notifications.test.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import notifications from './notifications';
                                                                                             ^^^^^^

    SyntaxError: Cannot use import statement outside a module
3
Jamie Hutber

JestはES6モジュールをサポートしていないため、Jestで直接テストを実行すると、このエラーがスローされます。そのように実行したい場合は、バベルを追加する必要があります。

反対に、react-scriptsを使用してテストを実行すると、裏でbabelを使用してコードをトランスパイルします。

これがあなたの質問に答えることを願っています。

1
Sohail