如果创建一个文件,其内容如下:
它正确地对其进行了存根...为什么?
const validateEmail = email => {
sendEmail(email);
};
const sendEmail = email => {
return true;
};
module.exports = {
validateEmail,
sendEmail,
};
并且有一个测试试图将第二个函数桩起来...
it('Should call sendEmail if a valid email is passed', () => {
let sendEmailSpy = sinon.stub(checkEmail, 'sendEmail');
checkEmail.validateEmail('acorrectemail@therightformat.com');
assert.isTrue(sendEmailSpy.called);
});
它仍然调用sendEmail
函数,测试失败。
但是,如果我像这样编写module.exports
:
module.exports = {
validateEmail(email) {
this.sendEmail(email);
},
sendEmail(email) {
return true;
},
};
它正确地对其进行了存根...为什么?