Domanda

Voglio scrivere test unità per JavaMail.Sto già usando il server di Outlook preparato.Quindi la mia domanda è Qual è il modo migliore per scrivere test unità : intendo: cosa dovrei controllare?

    .
  1. Verifica se solo il mio programma invia una lettera (chiama il metodo appropriato come Transport.send(msg))
  2. o controllare se la lettera viene ricevuta dal destinatario?
È stato utile?

Soluzione

I test dell'unità sono semplici test senza relazione con altri sistemi.Il test di integrazione può verificare la cooperazione con altri server come Outlook.

in Test dell'unità Dovresti muovere il server di posta e testare solo il tuo codice.Sei responsabile solo del tuo codice.Per la semplicità del server di posta finto, emula il comportamento IT (finto) e il test angolari.

Leggi questo: Qual è la differenza tra i test unitario e l'integrazioneTest?

Altri suggerimenti

per Unittests (come dice Mariuszs) Non si dovrebbe connettersi a un sistema reale.Dai un'occhiata a JavaMail Mock2 https://github.com/salyh/javamail-mock2 , questoè progettato per fare unittisti con JavaMail e non ha bisogno di un sistema reale.

è anche focalizzato principalmente su IMAP / POP3 ma è disponibile anche Mock SMTP. È disponibile a Maven Central.

Caratteristiche

    .
  • Supporta iMAP, IMAPS, POP3, POP3S, SMTP, SMTPS
  • supportato per POP3: cast to pop3folder, folder.gettuid (messaggio messaggio)
  • supportato per IMAP: cast a IMAPFolder, lanciata su UIDFolder, sottocartelle, -Folder.GetMessagesByUID (...), elimina / rinomina cartelle, APPEND Messaggi
  • Supporto per SMTP: DROMP TRANSPORT.SEND ()

Non supportato per il momento: le estensioni IMAP come inattivo, conddore, ... e cast a Pop3Message / IMAPMessage, Store Listener

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top