stub 不会 return proxyquire 中的解析数据未定义

stub doesn't return the resolve data in proxyquire getting undefined

我无法在承诺存根 returns undefined

的响应中获得已解析的值
   otpHelper.sendOtp = (number) => {
       console.log('number', number);
  return Promise.resolve({ status: '0', requestId: 'hdgfhsgdfdsgfjsgdfj' });
};

sendOtpStub = sinon.stub(otpHelper, 'sendOtp');
const otpHelperStub = proxyquire('../routes/register', {
  '../utils/otpHelper': {
    sendOtp: sendOtpStub,
    // checkOtp: checkOtpStub,
  },
});

sendOtpStub 被调用但我得到的值是 undefined 我需要从 promise.its 解析到 undefined 获取解析值 如果我没有使用存根,它会按预期工作。 如果我将 sendOtp: otpHelper.sendOtp 按预期工作,但当我将其作为存根时,它不会返回已解析的值。

存根不会调用原始方法,它应该是这样工作的。你要的是一个spy,把原来的方法包装起来,调用的时候调用。

sinon.spy(otpHelper, 'sendOtp')