Gerade begann mit Scherz und die Dokumentation scheint nicht zu klar zu spotten.Jest Mock-Funktion?
Ich habe ein Modul mit dem folgenden Code. Wenn ich die Funktion "Mail senden" testen möchte, aber keine E-Mail über Mailgun senden möchte, was muss ich hier tun? Ich denke, in meiner Testdatei muss ich das Scheinverhalten verwenden, aber ich kann nicht herausfinden, wie man das Ausgehen der Mail gezielt stoppt, während ich auch in der Lage bin, die richtigen Routen zu überprüfen, z. ungültige E-Mail-Adresse, Fehler ausgelöst, etc. Muss ich diese Funktion noch weiter abbrechen?
const Mailgun = require('machinepack-mailgun');
const Emailaddresses = require('machinepack-emailaddresses');
const config = require('../Config');
// Function to send an email
const sendEmail = function (toaddress, toname, sub, msg, cb) {
// Validate the email address is correct and if so send an email. Otherwise log the error and exit.
Emailaddresses.validate({
string: toaddress,
}).exec({
error(err) {
return cb(err, null);
},
invalid() {
return cb(new Error('Email address is not valid.'), null);
},
success() {
Mailgun.sendPlaintextEmail({
apiKey: config.sender.apiKey,
domain: config.sender.domain,
toEmail: toaddress,
toName: toname,
subject: sub,
message: msg,
fromEmail: config.sender.fromEmail,
fromName: config.sender.fromName,
}).exec({
error(err) {
return cb(err, null);
},
success() {
return cb(null, 'Email Sent.');
},
});
},
});
};
module.exports.sendEmail = sendEmail;
Danke Ich werde das heute Abend überprüfen und markieren, wenn keine weiteren Fragen. Schätzen Sie die Hilfe – munkee
Scheinen Fehler zu schlagen Fehler: expect (jest.fn()) toHaveBeenCalledWith (erwartet) Mock Funktion Voraussichtlich mit genannt wurden. [ "[email protected]", „chris "," Betreff "," Nachricht "] Aber es wurde nicht aufgerufen. https://pastebin.com/rhxtjkLc – munkee
Könnten Sie überprüfen, ob die Erfolgsfunktion der E-Mail-Validierung aufgerufen wurde, indem Sie eine 'console.log (Mailgun.sendPlaintextEmail)' hinzufügen. Was druckt es? die 'hasBeenCalledWith' sollte –