概要
vue-cliで作成したプロジェクトでyarn test:unit ってすると単体テストが走って便利なのですが、1度きりの実行だしフルコンパイルが毎回かかるし、遅くて辛かったのでなんとかしました。
前提
View CLIのプロジェクト作成時にManually select features でunit testingにMocha を選択してる環境です。
package.jsonのscripts にtest:unit が定義されているかと思います。
対応
> cd Vueプロジェクトのディレクトリ
> yarn test:unit --watch
# npmの場合
> npm run test:unit --watch
はい。
 --watch を足してあげると、コンパイルとテスト後に完了せず、待ち受けてくれます。
ソースに変更があると、該当のテストだけ実行してくれるっぽいです。
コンパイルもvue-cli-service serve と同様に初回以降は早いです。
package.jsonに追加してしまうのもありだけど、全てテスト実行したいときに悩ましいです。
-   "test:unit": "vue-cli-service test:unit"
+   "test:unit": "vue-cli-service test:unit --watch"
比較
--watch がないときー
 WEBPACK  Compiled successfully in 25350ms
 MOCHA  Testing...
  Hoge.vue
    ✓ renders props.hoge when passed (132ms)
  HelloWorld.vue
    ✓ renders props.msg when passed (92ms)
  2 passing (298ms)
 MOCHA  Tests completed successfully
Done in 87.52s.
--watch があるときー(初回)
 WEBPACK  Compiled successfully in 25340ms
 MOCHA  Testing...
  Hoge.vue
    ✓ renders props.hoge when passed (126ms)
  HelloWorld.vue
    ✓ renders props.msg when passed (67ms)
  2 passing (862ms)
 MOCHA  Tests completed successfully
(終わらずに待機)
--watch があるときー(初回以降、1ファイル変更)
 WEBPACK  Compiled successfully in 786ms
 MOCHA  Testing...
  HelloWorld.vue
    ✓ renders props.msg when passed (61ms)
  1 passing (111ms)
 MOCHA  Tests completed successfully
(終わらずに待機)
はい。快適になりました。
それでは、良きVue.js開発ライフを^^
Vue.js+TypeScriptで開発するときの参考記事まとめ
https://qiita.com/kai_kou/items/19b494a41023d84bacc7
