Node.js NodeEmailer未发送内部mocha测试
我在《路线》中声明:Node.js NodeEmailer未发送内部mocha测试,node.js,mocha.js,chai,nodemailer,Node.js,Mocha.js,Chai,Nodemailer,我在《路线》中声明: router.get('/test',userController.test); userController中的函数声明如下: exports.test = function (req, res) { var transport = nodemailer.createTransport({ service: 'gmail', auth: { user: myuser, pass: m
router.get('/test',userController.test);
userController中的函数声明如下:
exports.test = function (req, res) {
var transport = nodemailer.createTransport({
service: 'gmail',
auth: {
user: myuser,
pass: mypass
}
});
const message = {
from: 'me@gmail.com',
to: 'other@gmail.com',
subject: 'Subject here',
text: 'Text here',
html: '<html><body><div>html here</div></body></html>'
};
console.log("message:",message);
transport.sendMail(message, function(err, info) {
if (err) {
console.log(err)
} else {
console.log(info);
}
});
res.status(200).json({
test: 'test'
});
};
然后我在收件箱中收到邮件。
此外,控制台中的信息也会打印出来:
message: {
from: 'me@gmail.com',
to: 'other@gmail.com',
subject: 'Subject',
text: 'text here',
html: '<html><body><div>hmtl here</div></body></html>'
}
{
accepted: [ 'other@gmail.com' ],
rejected: [],
envelopeTime: 174,
messageTime: 374,
messageSize: 675,
response: '250 2.0.0 OK 1575235049 y6sm13785566ljm.95 - gsmtp',
envelope: {
from: 'me@gmail.com',
to: [ 'other@gmail.com' ]
},
messageId: '<somehash@gmail.com>'
但仍然没有发送邮件。似乎从未访问/执行sendMail函数
问题可能是什么?
测试模块只是调用测试端点。此处调用了其他端点,并执行所有端点:
//This test is green
it("Succedes when test", done => {
chai
.request(app)
.get("/users/test")
.end((err, res) => {
expect(res).to.have.status(200);
done();
});
});
通常,这类问题是由一个非预期的例外或非预期的承诺拒绝引起的。因此,不会出现错误 在您的情况下,似乎没有检查.end callbacks err参数中的错误。 首先尝试检查错误是否不存在
expect(err).to.not.exist
//This test is green
it("Succedes when test", done => {
chai
.request(app)
.get("/users/test")
.end((err, res) => {
expect(res).to.have.status(200);
done();
});
});
expect(err).to.not.exist