- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在测试一个表单组件,所有字段都使用 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/
我需要使用 vee-validate 验证美国电话号码 XXX-XXX-XXXX basic regex :(?:\d{3}-)\d{3}-\d{4} .正则表达式工作正常 by itself ,但不
版本: VueJs:2.2.6 Vee 验证:^2.0.0-beta.25 描述: 我正在做一个项目,我使用 laravel-vue-starter 作为基础模板。 我想对密码使用自定义验证。所以我用
我有以下表格:
我正在使用 vuejs 2 并使用 vee-validate 2.0.0-beta.18 进行验证。但是当我调用 this.$validator.validateAll() 时遇到问题,它只验证一个字
我正在使用 vee-validate 3.2.1。我有一个可以禁用的字段,基于其他字段的值,如果启用,则该字段是必需的,但如果禁用,则不需要该字段。 我的领域是这样的
我在表单中有多个由 vee-validate 验证的输入,它运行良好,但我只想检查事件的某些字段。所以在看到一个关于这个问题的问题后https://github.com/baianat/vee-val
我正在尝试更改 vee-validate 中的错误消息,但它不起作用... 有人知道如何解决这个问题吗? import VeeValidate from "vee-validate"; import
我在我的 Vue 项目中创建了一个输入组件,并在我的表单中使用了这个组件。我想使用 vee-validate 来验证我的输入。 首先,我尝试像正常输入一样验证我的组件,但在显示错误消息和检查 Vue
我创建了一个设置页面,用户可以在其中更新他们的电子邮件地址。一切正常,但突然验证不再更新。只有输入字段的第一次更改会触发 validateState()。 任何进一步的更改都不会触发此功能,因此该字段
我在一页上有一个用户名片列表。我需要使用索引来区分每张卡片上的字段名称。前任。 userDob${i} 我还必须为这些用户输入创建自定义消息。通常对于自定义消息,我可以简单地写 custom: {
我正在使用 Laravel - 5.8 和 Vue.js。我的问题是关于如何为 Vee-Validate 库中的规则显示自定义错误消息。我的“必需”规则的自定义消息没有显示,而是显示:“名字字段是必需
我正在尝试验证动态添加的输入字段。每当我只有一行输入要验证时,效果都很好。 工作案例: 但是,每当我添加一行时,验证都会同时验证第一行和添加的行 - 而不是单独验证每一行。这是问题案例。 问题案例:
我正在尝试使用 Vee Validate 要求两个输入字段之一,名称或位置,但它们不能都为空。我收到此错误 - '指令验证绑定(bind) Hook 错误:“TypeError:无法读取未定义的属性'
验证一组字段时,对于隐藏在具有 v-if 属性的 DOM 中的字段会显示错误。 例如,我有 3 个字段: 当我运行我的提交函数时,我正在检查所有字段是否包含错误: this.$validator
我有 2 个字段要验证,但在我提交后总是在方法 validateBeforeSubmit() 中返回 true。 Whitout 按钮提交它工作得很好,并以良好的语言返回 errors.first(n
我继承了一个 Vue 站点,该站点的表单使用 Vee Validate 2.x 遇到严重的输入延迟。 我迁移到 3.2.4 (vue 2.6.10) 并遵循迁移指南,但我只看到验证检查我的最终输入。
我正在尝试通过以下方式验证所有输入 this.validator.validateAll().then((result) => { console.log(result
在这种情况下,我无法理解如何转义单引号和双引号: v-validate="{ min:3, max:200, url:true, regex: /^(http)?s?:?(\/\/[^"']*\.(?
我正在尝试使用 vee-validate 根据其他字段(选择)的选择来验证 3 个字段(文本字段),但我似乎不知道如何做到这一点。 基本上,我有一个包含 5 个值的选择框,如果所选值等于 1 或 2,
我正在尝试使用 vee-validate 制作一个简单的表单验证页面。但似乎有些东西被破坏了,我不确定我到底做错了什么。 我如何收到错误:错误未定义。 asdfasd
我是一名优秀的程序员,十分优秀!