gpt4 book ai didi

reactjs - 使用jest.mock时如何模拟拦截器(('axios')?

转载 作者:行者123 更新时间:2023-12-03 15:21:22 29 4
gpt4 key购买 nike

使用笑话进行测试时,我具有基本的测试服语法:

jest.mock('axios');

describe('app', () => {
let render

beforeEach(() => {
axiosMock.get.mockResolvedValueOnce({
data: {greeting: 'hello there'},
}),
render= renderApp()
});

test('should render something', () => {
expect(something).toBeInTheDocument();
});


});

问题是我的代码中有拦截器,当使用jest命令输出运行测试时,该拦截器会:

TypeError: Cannot read property 'interceptors' of undefined



并指向拦截器对象
axiosInstance.interceptors.request.use(... axiosInstance是一个存储 axios.create返回值的变量
export const axiosInstance = axios.create({...
在SO How do I test axios in jest上引用了此axios线程,但是它不涉及任何拦截器,因此并没有真正的帮助。

最佳答案

最后,简单明了的jest.fn()就足够了

jest.mock('axios', () => {
return {
interceptors: {
request: { use: jest.fn(), eject: jest.fn() },
response: { use: jest.fn(), eject: jest.fn() },
},
};
});

关于reactjs - 使用jest.mock时如何模拟拦截器(('axios')?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60410731/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com