Java / Junit: Problem mit assertEquals

S

supersucker

Foren Gott
Hallo,

vielleicht treibt sich ja ein Junit-Experte in diesem Forum rum.
ich habe ein Problem mit junit, und ich finde in der Doku einfach nichts dazu.

Folgendes:

In meinem Junit-Test rufe ich mehrmals "assertEquals" auf und logge gleichzeitig mit log4j die Resultate mit.

Das Problem ist nun das Junit beim ersten "failen" des assertEquals Test den Test abbricht und damit das Logfile natürlich leer ist.

Deshalb nun meine Frage:

Wie bringe ich Junit dazu den Test komplett durchlaufen zu laufen, egal ob assertEquals positiv oder negativ verläuft?

Ich kenne mich mit Junit nicht gut aus, das der Test nach dem ersten Scheitern von assertEquals abbricht empfinde ich als völligen Unsinn, gibt es dafür irgendeinen Grund?

Danke für eure Hilfe im vorraus!
 
es kommt natürlich auf die ide mit dem du junit tests machst...
also bei mir in eclipse läuft der test auch immer noch weiter
bis zum ende, auch wenn fehler aufgetreten sind...
 
kann es seind as du nur eine Methode hast die alles Testet?
Normalerweise bricht Junit bei erfolglosem test nur die eine Methode ab in dem der Test erfolglos war, dann wird mit der nächsten Testmethode fortgefahren.

P.S. an der IDE dürfte es nicht liegen, da JUnit eine Java Bibliothek. solange man den gleichen compiler benutzt, kommt auch das selbe heraus, egal mit welcher IDE
 
kann es sein das du nur eine Methode hast die alles Testet?

Ja, es ging um einen Parser, der Junit-Test prüfte nun ob der die richtigen Werte extrahierte.

Normalerweise bricht Junit bei erfolglosem test nur die eine Methode ab in dem der Test erfolglos war, dann wird mit der nächsten Testmethode fortgefahren.

Das ist mir jetzt auch aufgefallen.....:-)
Habs jetzt in verschiedene Methoden aufgesplittet in denen jeweils nur ein assertEquals vorkommt.
Ich finde diesen Abbruch dennoch unsinnig, es gibt einfach Fälle wo mehrere assertEquals pro Test-Methode sinnvoll sind. (Und ja, ich weiss was der Author von Junit dazu sagt, aber ich stimme da mit ihm nicht überein.)

Nun ja, wie auch immer, Problem gelöst.

Danke für eure Hilfe / Tips.
 
Zurück
Oben