vue-cli で jest 使うと SyntaxError: Unexpected identifier になって import が使えなかった
vue-cli で作成したプロジェクトに後から jest を設定していったんだけど、
$ vue-cli-service test:unit FAIL tests/unit/hoge.spec.js ● Test suite failed to run /app/tests/unit/hoge.spec.js:1 import Hoge from '@/hoge'; ^^^^ SyntaxError: Unexpected identifier at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
っていうエラーが表示されて、テスト内で import が使えなかった。
色々試してるうちに、使用している babel-jest
のバージョンを下げたら動くようになった。
- "babel-jest": "^24.9.0", + "babel-jest": "^23.6.0",
根本の問題はよくわからないけど、よくあるバージョンのアレっていう感じっぽいので深追いはしてない。
また、 vue-cli で vue create
する時点で jest を使うように設定しておけば、このバージョン問題にはぶつからない( Please pick a preset:
で Manually select features
を選べばテストを含めるか設定できる)。