鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

vue-test-utils+バリデーション

テキストフィールドに値を入れると、バリデーションが実行されて、formValidがtrueになるテスト
を描いて見たが・・trueにならない

const input = wrapper.find('input#name')
input.element.value = 'AEON'
input.trigger('input')
expect(wrapper.vm.editedItem.name).equal('AEON')
expect(wrapper.vm.formValid).equal(true)

await

await flushPromises()を追加

@vue/test-utilsで非同期イベントのテスト - Qiita

npm install --save-dev flush-promises
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  Error: Module build failed: SyntaxError: await is a reserved word 

あちゃ、全然わからんなぁ。

awaitを使えるようにしたい!

設定ファイルを覗いたり、ググりまくりました。
今の環境の設定.babel.rc

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": [ "istanbul" ]
    }
  }
}

stage-2というのは、awaitをサポートしていないバージョンらしい。
state-3をインストールしてあげればいい

babel stage-3のインストール

npm install --save-dev babel-preset-stage-3

.babel.rcをstage-2からstage-3へ編集

編集して、npm run unitを実行して見ましたが、依然としてawaitは使えない。
何が悪いのか?

transform-async-to-generatorのインストールも必要?

Async to generator transform · Babel