2 回答

TA貢獻1811條經(jīng)驗 獲得超5個贊
壞消息
事實證明,目前這確實是vue-test-utils中的一個錯誤。在我打開問題后,我發(fā)現(xiàn)了另一個與我的問題非常相似的問題,我很確定其根本原因與我的情況相同。顯然這是由于 v.beta.29 中的 vue utils 發(fā)生了變化
問題可以在這里找到#1130
好消息
有一種解決方法可以讓您的測試再次運行,直到此錯誤得到解決。您需要使用選項sync: false進行安裝,因此頂部示例中的安裝看起來像
const wrapper = mount(PermissionTable, {
localVue,
vuetify,
propsData: {
value: tableItems
},
sync: false
});
我仍然認為這是一個嚴重的錯誤,因為無論設(shè)置如何,每次運行它們時相同的測試都應(yīng)該以相同的方式運行。一旦有消息表明該問題已得到解決,我將立即更新此帖子。

TA貢獻1773條經(jīng)驗 獲得超3個贊
在您的第一段代碼中唯一看起來不合適的是您正在編寫Vue.use(Vuetify)并且在進行掛載時還使用了 Vuetify 的實例。
我建議Vue.use(Vuetify)您像這樣保留并安裝您的組件:
const wrapper = mount(PermissionTable, {
localVue, // vuetify is removed from this object
propsData: {
value: tableItems
}
});
另一方面,單元測試通常應(yīng)該使用shallowMount. 我不知道您的用例,但如果可能,請使用它而不是mount
添加回答
舉報