はじめに
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の状態に気をつけようと思いました。