为了账号安全,请及时绑定邮箱和手机立即绑定

如何模拟 axios api 调用以根据输入返回不同的值?

如何模拟 axios api 调用以根据输入返回不同的值?

桃花长相依 2022-01-13 16:30:54
假设有一个功能,在其他任务中,使用 axios 进行一些 api 调用。有没有办法在测试此函数时模拟所有 axios api 调用并根据输入指定调用的返回值。例如,假设您要测试的功能是这样的:function someFunction (a, b, c) {    const apiReturnA = axiosApiCall(a)    const returnB = b + 1    const apiReturnC = axiosApiCall(c)    return [apiReturnA, returnB, apiReturnC]}我想测试someFunction并指定,每次axiosApiCall被调用时,不要执行该函数,只需根据该函数的输入返回一个值。怎么能做到这一点?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

axiosApiCall您可以通过闭包注入:


function apiWrapper(axiosApiCall) {

    return function someFunction (a, b, c) {

        const apiReturnA = axiosApiCall(a)

        const returnB = b + 1

        const apiReturnC = axiosApiCall(c)

        return [apiReturnA, returnB, apiReturnC]

    }

}



const testApiCall = function(input) {

    return input * 2;

}

let someFunction = apiWrapper(testApiCall);

console.log(someFunction(1,2,3));

    


然后在您的真实代码中,您只需传入真实的 axiosApiCall


查看完整回答
反对 回复 2022-01-13
  • 1 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信