使用jest进行单元测试,涉及在一个值方法中声明的类实例



我有这个逻辑暂时读取和显示个人资料图像:

setTempProfileImage(file) {
if (file) {
let reader = new FileReader()
reader.onload = e => {
this.generalInfo.profileImage = e.target.result
}
reader.readAsDataURL(file)
}
}

其中file是一个BLOB对象(用于测试是一个'空' BLOB对象)。

但是我正在努力编写一个单元测试,检查onload函数调用和reader.readDataAsURL(file)。

到目前为止,我已经完成了这个单元测试:

let file = new Blob(["testing"], { type: "application/pdf" });
wrapper.vm.setTempProfileImage(file)
wrapper.vm.$nextTick()
console.log(wrapper.vm.profileImage)
expect(wrapper.vm.generalInfo.profileImage).toBe(file)

但它只是读回'undefined'

Estus Flask的链接回答了我的问题:https://stackoverflow.com/a/61575553/3731501

加上:

https://zaengle.com/blog/mocking-file-upload-in-vue-with-jest

最新更新