Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeEmailer未发送内部mocha测试_Node.js_Mocha.js_Chai_Nodemailer - Fatal编程技术网

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