Ich schicke eine E-Mail an den Benutzer bei der Einreichung des Formulars. Ich habe Probleme beim Testen. Ich teste sendConfirmationEmailForSubmission
, und form submission. Aber beim Testen der Formularübermittlung sendet es jedes Mal Mail. Und ich habe viele Kombinationen zum Testen der Formularübergabe. Ich verschwende meine Quote an E-Mails, indem ich während des Einreichversuchs E-Mails sende, während ich die sendEmail-Funktion separat teste. Kann mir bitte jemand dabei helfen.Wie kann ich einige Tests schreiben, so dass sie beim Testen keine E-Mails senden?
SubmitAction
sendet das Formular und sendet E-Mail. Um E-Mails zu senden, wählen Sie Anrufe sendConfirmationEmailForSubmission()
.
Ich denke, anstelle der obigen Funktion sollte ich es wie diese verwenden und übergeben Sie UserId = null beim Testen Form Submission?
public void sendConfirmationEmailForSubmission(String userId)
throws EntityDoesNotExistException {
if (userId != null) {
EmailsLogic.sendConfirmationEmailForSubmission(userId);
}
}
* anstelle der obigen Funktion sollte ich es wie diese verwenden und 'userId = null' übergeben, während ich die Formularübergabe teste? * In diesem Fall wird ** ** ** beim Testen E-Mails senden. Was ich dachte, du wolltest nicht. Möchten Sie die E-Mail senden oder nicht? –
@ tarun14110 Zusammenfassung der E-Mail-sendenden Funktionalität hinter seinem eigenen Dienst (SRP) und dann diesen Dienst für Ihre Tests vortäuschen. Mithilfe der Abstraktion können Sie zwischen verschiedenen Implementierungen wechseln. In der Produktion können Sie dann die Produktionsimplementierung verwenden. – Nkosi
@EliottFrisch Sorry, das war meine Schuld. aktualisiert. Ich möchte während der Einreichung keine E-Mails senden. – tarun14110