【发布时间】:2021-06-15 06:36:18
【问题描述】:
我有一个带有标志 isVisible 的警报组件,该标志在创建组件时变为真,并且在创建的 HOOK 中我有一个 setTimeout,如果组件接收到 DESTROY 布尔属性,则启动:
props: {
destroy: {
type: Boolean,
default: false,
},
}
data() {
return {
isVisible: false,
}
}
created() {
this.isVisible = true
if (this.destroy) {
setTimeout(() => {
this.isVisible = false
}, 2500)
},
}
我正在使用VUE UTILS / JEST测试setTimeout结束后组件是否消失,我试过了:
test('Component dissapears after 2.5 seconds when it receives DESTROY prop', async () => {
const component = wrapper.get('[data-test-id="info-alert-wrapper"]')
await wrapper.setProps({
destroy: true,
})
await wrapper.vm.$options.created.call()
expect(component.isVisible()).toBeFalsy()
})
但它会回复:TypeError: Cannot set property 'isVisible' of undefined
有人可以帮我解决这个问题吗?感谢你! :)
【问题讨论】:
标签: vue.js jestjs vue-test-utils