Mailserver simulieren mit EasyMock 1.2

Mephist0

Mitglied
Tag zusammen,

ich soll gerade einen JUNIT-Test einer Mailsender Klasse ermöglichen. In der Mailsender-Klasse wird über die Apache-API eine Email-Instanz (abstact class) erstellt und versendet. Das Versenden der Mail funktioniert beim Testen nicht, da kein Mailserver auf den Testrechnern vorhanden ist.
Hier soll ich dann per EasyMock (benutzt wird Version 1.2) das ganze hinbiegen. Dabei kann ich nicht über eine Methode in der Mailsender Klasse die Email-Instanz durch die gemockte Instanz ersetzen (zumindest weiß ich nicht, wie das gehen sollte).

Hier meine Fragen:
- Kann ich EasyMock überhaupt zum simulieren einer abstrakten Klasse verwenden?
- Wenn ja, per EasyMock kann man ja Expectations erzeugen. Aber wie kriege ich es hin, dass anstatt der erzeugten Fehlermeldung durch die API der Test trotzdem weiter läuft?

Ich hoffe ihr könnt mir etwas Licht in meine Gedanken bringen 🙂. Über schnelle Hilfe jeglicher Art würde ich mich freuen!

Grüße, Mephist0.
 
Ok, habe gerade erfahren: Abstrakte Klassen sind kein Problem. Jetzt ist nurnoch mein Problem eine Fehlermeldung abzufangen und stattdessen normal weiterzumachen.
 
Zuletzt bearbeitet:
Danke für den Tipp, ist aber leider nicht möglich. Das soll jederzeit Systemintern überprüft werden können.

Noch eine fixe Frage:
Wenn ich per EasyMock nur eine Exception einer Methode verhindern will, muss ich dann vorher das Verhalten für alle anderen aufgerufenen Methoden auch festlegen?
Im Moment fragt er mich tatsächlich nach dem Verhalten jeder einzelnen Methode, ist also recht viel Aufwand um eine einzige zu prüfen.
 
Hi,

ich habe vor einiger Zeit auch einen Unit-Test für den Mailversand benötigt. Ich hab's mit Dumpster

[XML]
<dependency>
<groupId>dumbster</groupId>
<artifactId>dumbster</artifactId>
<version>1.6</version>
</dependency>
[/XML]

und Mockito gemacht. Die API von Dumbster ist wirklich extrem simpel. Allerdings meine ich mich zu erinnern, dass das überprüfen von Attachments nicht so ohne weiteres oder auch gar nicht möglich was. Ansonsten hat alles gut funktioniert

Gruß

Jonny
 
Danke für den Tipp. Leider bin ich hier in nem recht großen System und kann nicht einfach Tools o.ä. hinzufügen. Umsetzung muss mit EasyMock 1.2 und JUNIT erfolgen 🙁!
 

Zurück
Oben