使用jest.mock('axios')时如何模拟拦截器?
使用笑话进行测试时,我具有基本的测试服语法:
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:无法读取未定义的属性“拦截器”
并指向拦截器对象
axiosInstance.interceptors.request.use(...
axiosInstance
是存储以下项的返回值的变量 axios.create
export const axiosInstance = axios.create({...
在SO上引用了该axios线程。我如何以开玩笑的方式测试axios,但是它不涉及任何拦截器,因此并没有真正的帮助。
回答:
最后就足够了
jest.mock('axios', () => { return {
interceptors: {
request: { use: jest.fn(), eject: jest.fn() },
response: { use: jest.fn(), eject: jest.fn() },
},
};
});
以上是 使用jest.mock('axios')时如何模拟拦截器? 的全部内容, 来源链接: utcz.com/qa/429995.html