我正在使用axios.create
方法创建和配置axios
示例。而且我不能让它在vi.fn()
的测试中工作,所以我不能Assert是否调用了endpoint。
测试能够从API调用返回数据的解决方法如下所示
return {
AxiosInstance: {},
AxiosRequestConfig: {},
default: {
post: vi.fn(),
create: vi.fn(() => {
return {
post: (url: string, config: object) => {
return Promise.resolve({ status: 200 });
},
get: (url: string, config: object) => {
return Promise.resolve({ status: 200 });
},
interceptors: {
request: {
use: vi.fn(),
eject: vi.fn(),
},
response: {
use: vi.fn(),
eject: vi.fn(),
},
},
};
}),
},
};
});
但是想要使用类似于
(axios.get as MockedFunction<typeof axios.get>).mockImplementationOnce(
() => promise
);
也许有人用vitest
模拟了axios.create
,可以共享配置?
1条答案
按热度按时间lokaqttq1#
所以把它整理出来,也许会帮助到别人。
所以基本上我们模拟
axios.create
方法返回自身,我们可以这样编写模拟