みつのーと

頑張ってます・・・

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-clivue create する時点で jest を使うように設定しておけば、このバージョン問題にはぶつからない( Please pick a preset:Manually select features を選べばテストを含めるか設定できる)。