gpt4 book ai didi

unit-testing - Vue.js 单元 :test : Is there any way to mock a Vee-Validate validator plugin?

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:56 25 4
gpt4 key购买 nike

我正在测试一个表单组件,所有字段都使用 vee-validate 进行验证目前我在我的包装器中注入(inject)一个验证器

import VeeValidate from "vee-validate";

Vue.use(VeeValidate, { errorBagName: "errors" });

describe("ContactForm.vue", () => {
const v = new VeeValidate.Validator();

beforeEach(() => {
options = {
sync: false,
provide: () => ({
$validator: v
})
};
wrapper = shallowMount(ContactForm, options);
});

$validator 有一些函数,比如:init(), localize(), validateAll(), reset(), ... 我可以绕过一些我的测试

有没有办法用 Jest 函数模拟这样的 validator

感谢反馈

最佳答案

您是否尝试过使用 sinon 来使用函数的 stub ? ?他们提到了 vue test utils使用 setMethods

它可能看起来像:

import { mount } from '@vue/test-utils'
import sinon from 'sinon'
import ContactForm from './ContactForm.vue'

const wrapper = mount(ContactForm)
const submit = wrapper.find('button')
const validateStub = sinon.stub()

allInputs.setMethods({ validateAll: validateStub })
submit.trigger('click')
expect(validateStub.called).toBe(true)

例如,当您提交表单时,您将能够知道 validateAll 方法是否被调用。或者您可以尝试在 github/VeeValidate 上询问

关于unit-testing - Vue.js 单元 :test : Is there any way to mock a Vee-Validate validator plugin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52859907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com