はじめに
VeeValidateを使っているコンポーネントを対象に複数の it
を使ってテストしています。
$validator
が前の it
でのデータを保有したまま次の it
を実行するため、データがどんどん蓄積されています。
そのせいで、2つ目以降の it
テストで期待した通りの結果が返ってこなくて FAIL
になってしまいます。
wrapper.vm.$validator // これにデータが蓄積されてしまう
解決方法
$validator
がリセットされれば良いので、 xx.spec.js
の中に
afterEach(() => {
wrapper.vm.$validator.reset()
wrapper.destroy()
})
を入れてあげます。
これで it
ごとに$validator
がリセットされるようになり、期待した通りの結果が返ってくるようになりました。
おわりに
VeeValidateを使っているコンポーネントを対象にしたテストを行うときは$validatorの状態に気をつけようと思いました。