Unit testing 如何模拟此操作。$refs.form.resetValidation()?
组件1.vueUnit testing 如何模拟此操作。$refs.form.resetValidation()?,unit-testing,vue.js,vuetify.js,vue-test-utils,Unit Testing,Vue.js,Vuetify.js,Vue Test Utils,组件1.vue <template> <div> <v-form ref="form"> <v-text-field v-model="name" :counter="10" :rules="nameRules" label="Name"
<template>
<div>
<v-form
ref="form">
<v-text-field
v-model="name"
:counter="10"
:rules="nameRules"
label="Name"
required
></v-text-field>
</v-form>
</div>
</template>
<script>
export default {
data: () => ({
name: 'Test',
nameRules: [
v => !!v || 'Name is required',
v => (v && v.length <= 10) || 'Name must be less than 10 characters',
]
}),
mounted() {
this.$refs.form.resetValidation();
}
}
</script>
错误-类型错误:此.$refs.form.resetValidation不是函数
如果我使用mount而不是shallowMount,测试就会通过。但是我想知道如何模拟$ref.form.resetValidation。您可以创建一个手动存根来替换将用于v-form的存根:
test('test1', () => {
const wrapper = shallowMount(component1, {
localVue,
stubs: {
VForm: {
render: () => {},
methods: {
resetValidation: () => ()
}
}
}
})
....
})尝试将其包装到函数中
test('test1', () => {
const wrapper = shallowMount(component1, {
localVue,
stubs: {
VForm: {
render: () => {},
methods: {
resetValidation: () => ()
}
}
}
})
....