问题描述
我有一个重写的Axios函数,可以帮助我发出API请求。该函数的实现是,当API调用失败时,它将在error.customAttributes
中添加属性。
try {
const data = await getMeDataPlease(param);
} catch (error) {
if (error.customAttributes.httpErrorStatus === 404) {
error.userError = {} // anything
throw error;
}
}
我想测试此功能catch
代码,它可以正确添加/构建error.userError
对象。为此,我在模拟如下的Axios调用。
describe('External Apis',() => {
it('Get me data fails',async () => {
const axiosMock = new MockAdapter(myCustomHttpClient());
const url = 'my-data-url-goes-here';
axiosMock.onGet(url).reply(404,{customAttributes: {httpErrorStatus:404});
const data = await getEnrollments('username'); // in actual method the method fails on `if (error.customAttributes.httpErrorStatus === 404)` with undefined does not have `httpErrorStatus`
console.log('data',data);
});
但是我不能像这样模拟Axios请求,错误对象不包含我期望的customAttributes
。请告知。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)