这个效果很好:
jest.mock('axios');
axios.post = jest.fn().mockImplementation(() => Promise.resolve({ data: {} }));
但是如果我为我的对象提供模拟的 post 函数,例如:
jest.mock('axios', () => {
return {
post: jest.fn(() => Promise.resolve({})),
};
});
然后 axios 实例变得未定义并且 我的测试提醒我:
类型错误:无法读取未定义的属性(读取“post”)
我真的不明白有什么区别
改变
import axios from 'axios'
到
import * as axios from 'axios'
将解决问题