Vue.js 测试在表单上使用veevalidate的表单
我使用vee validate 3.0.11版验证我的表单,如下所示Vue.js 测试在表单上使用veevalidate的表单,vue.js,mocha.js,chai,vee-validate,Vue.js,Mocha.js,Chai,Vee Validate,我使用vee validate 3.0.11版验证我的表单,如下所示 登录 我写了一些关于柴和摩卡的测试 在我的测试中,我需要找到按钮 但是,当我为find按钮使用find方法时,validation observer标记之间的所有html标记都不会加载到我的包装器中。 我的测试代码是: //我将其更改为shallowMount以装载,但存在问题, //mount不会在validation observer标记之间呈现任何内容 const wrapper=mount(LoginView,{s
登录
我写了一些关于柴和摩卡的测试
在我的测试中,我需要找到按钮
但是,当我为find按钮使用find方法时,validation observer
标记之间的所有html标记都不会加载到我的包装器中。
我的测试代码是:
//我将其更改为shallowMount以装载,但存在问题,
//mount不会在validation observer标记之间呈现任何内容
const wrapper=mount(LoginView,{sync:false});
描述('Login.vue',()=>{
它('一些文本,()=>{
log(wrapper.html());
//“我的日志”包括除验证观察者标记之间的标记以外的所有标记
});
});
有人能告诉我如何使用warraper.find()找到我的按钮吗 您正在尝试浅装一个需要安装的组件,以便安装。如果您想同时忽略
ValidationProvider
,您可以提供一个假的,如下所示
ContactForm.vue
生存还是毁灭
{{错误[0]}
从“vee validate”导入{ValidationProvider};
导出默认值{
姓名:“联系方式”,
组成部分:{
验证提供程序
},
数据:()=>({
值:“”
})
};
ContactForm.test.js
从“@vue/test-utils”导入{shallowMount,createLocalVue};
从“/ContactForm”导入ContactForm;
从“/FakeValidationProvider”导入FakeValidationProvider;
test(“test shallow mount呈现验证提供程序内部的内容”,async()=>{
const localVue=createLocalVue();
var wrapper=shallowMount(ContactForm{
存根:{
ValidationProvider:FakeValidationProvider
},
localVue
});
expect(wrapper.text()).toContain(“是,还是不是”);
});
FakeValidationProvider.vue
导出默认值{
名称:“FakeValidationProvider”,
数据(){
返回{
错误:[]
};
}
};
除了错误之外,您还可以使用任何其他需要的参数来扩展插槽。如果您还想使这些参数成为动态的,请查看您正在尝试浅装一个需要安装的组件,以便安装。如果您想同时忽略
ValidationProvider
,您可以提供一个假的,如下所示
ContactForm.vue
生存还是毁灭
{{错误[0]}
从“vee validate”导入{ValidationProvider};
导出默认值{
姓名:“联系方式”,
组成部分:{
验证提供程序
},
数据:()=>({
值:“”
})
};
ContactForm.test.js
从“@vue/test-utils”导入{shallowMount,createLocalVue};
从“/ContactForm”导入ContactForm;
从“/FakeValidationProvider”导入FakeValidationProvider;
test(“test shallow mount呈现验证提供程序内部的内容”,async()=>{
const localVue=createLocalVue();
var wrapper=shallowMount(ContactForm{
存根:{
ValidationProvider:FakeValidationProvider
},
localVue
});
expect(wrapper.text()).toContain(“是,还是不是”);
});
FakeValidationProvider.vue
导出默认值{
名称:“FakeValidationProvider”,
数据(){
返回{
错误:[]
};
}
};
除了错误之外,您还可以使用任何其他需要的参数来扩展插槽。如果您还想使这些参数成为动态的,请检查,可能是因为您使用的是
shallowMount
,而不是mount
,您应该始终使用mount
,因为它以测试运行时间为代价提供更可靠的输出。@logaretm我也尝试mount
,但它仍然不会在validation observer
tag之间呈现html,因为呈现是异步的,所以尝试在装载后立即使用flush promises
,您可以在GitHub上检查vee验证测试。可能是因为您使用的是shallowMount
而不是mount
,您应该始终使用mount
,因为它以测试运行时间为代价提供更可靠的输出。@logaretm我也尝试mount
,但它仍然不会在validation observer
tag之间呈现html,因为呈现是异步的,所以尝试在装载后立即使用flush promises
,您可以在GitHub上检查vee验证测试。