.vue
ファイルは Babel でトランスパイルが必要
TypeScript のコードは ts-jest
がトランスパイル
→ この2つが正しく動くように設定するのがポイント。
特にデコレーター(@Prop など)を使うクラスコンポーネントは
emitDecoratorMetadata
や experimentalDecorators
が必須。
VueのSFC(.vue
ファイル)は
<template>
の中は Vue のコンパイラ<script lang="ts">
の中は TypeScriptだけど、Jestが理解するのは普通のJS。
なので、
.vue
→ vue-jest
が読み込んで<script>
の中身は babel-jest
で変換→ この変換がないとJestが.vue
ファイルを読めない。
npm install --save-dev \\
babel-jest \\
@babel/core \\
@babel/preset-env