存根未在proxyquire中返回未定义的解析数据

时间:2018-10-21 16:11:02

标签: javascript node.js mocha sinon proxyquire

我无法在承诺存根返回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置于预期的工作状态,但是当我将其作为存根时,它将不返回已解析的值。

1 个答案:

答案 0 :(得分:1)

存根不会调用原始方法,这就是它应该起作用的方式。您想要的是一个间谍,它将原始方法包装起来并在调用时调用它。

sinon.spy(otpHelper, 'sendOtp')