2 回答
TA贡献1811条经验 获得超5个赞
坏消息
事实证明,目前这确实是vue-test-utils中的一个错误。在我打开问题后,我发现了另一个与我的问题非常相似的问题,我很确定其根本原因与我的情况相同。显然这是由于 v.beta.29 中的 vue utils 发生了变化
问题可以在这里找到#1130
好消息
有一种解决方法可以让您的测试再次运行,直到此错误得到解决。您需要使用选项sync: false进行安装,因此顶部示例中的安装看起来像
const wrapper = mount(PermissionTable, {
localVue,
vuetify,
propsData: {
value: tableItems
},
sync: false
});
我仍然认为这是一个严重的错误,因为无论设置如何,每次运行它们时相同的测试都应该以相同的方式运行。一旦有消息表明该问题已得到解决,我将立即更新此帖子。
TA贡献1773条经验 获得超3个赞
在您的第一段代码中唯一看起来不合适的是您正在编写Vue.use(Vuetify)并且在进行挂载时还使用了 Vuetify 的实例。
我建议Vue.use(Vuetify)您像这样保留并安装您的组件:
const wrapper = mount(PermissionTable, {
localVue, // vuetify is removed from this object
propsData: {
value: tableItems
}
});
另一方面,单元测试通常应该使用shallowMount. 我不知道您的用例,但如果可能,请使用它而不是mount
添加回答
举报
