为什么这边测试无法通过?
错误信息
● Uploader Component › upload process should works fine
TypeError: Cannot set property 'hasOwnProperty' of undefined
11 | beforeAll(() => {
11 | beforeAll(() => {
12 | console.log("wrapper----", wrapper, shallowMount);
> 13 | wrapper = shallowMount(Uploader, {
| ^
14 | props: {
15 | action: "test.url",
16 | },
git地址
gitee.com/xiebinyin/lego.git
我都不知道怎么回事,我刚才查看以前的回答把插件升级了一下,结果现在就报这个错误
TypeError: Cannot set property 'hasOwnProperty' of undefined
22
收起
正在回答
2回答
同学你好
测试发现你的 repo 确实有问题,因为调用 jest.mock('axios') 返回的仅有 get 方法。
console.log('mocked', mockedAxios) // 打印出来就会发现 只有一个 get 方法 // 所以 mockedAxios.post.mockResolvedValueOnce({ status: "success" }); // 就会报错 // 如果你调用 mockedAxios.get.xxx 的各种方法就不会报错 // 可以修改为 mockedAxios.post = jest.fn().mockResolvedValueOnce({ status: "success" }) // 这样就没问题了,因为这样是手动赋值的,注意以后模拟请求的地方都要这样修改一下
我目前没有找到根本原因,为什么调用 mock 以后只剩下了 get 方法,怀疑 jest 版本,等等,会继续追查一下,你可以先替换成这样的写法。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星