Hallo zusammen, mein Problem ist eigentlich keins, ich habe es nämlich schon gelöst, das Ding ist nur, dass mir schleierhaft ist, warum die Lösung funktioniert…
Meine Aufgabe (Uni) war es einen bestimmten Datentypen zu implementieren und mit JUnit ein Testskript dafür zu schreiben.
Kein Problem. Dann sollte ich das ganze mit einem ANT Skript komilieren und starten.
An sich auch kein Problem, es sah dann ungefähr so aus
…
…
Hatte diese alte Version nichtmehr da, können sich jetzt also Fehler eingeschlichen habe.
Was ich zeigen wollte, war, dass es einwandfrei funktioniert hat, solange wir den Pfad zur junit4.jar emplizit angegeben haben.
Wir sollten aber im Rahmen der Aufgabe davon ausgehen, dass die junit.jar schon im Klassenpfad enthalten ist.
Um das Zu testen habe ich einfach mal einen Eintrag CLASSPATH in die /etc/environment gesetzt.
Und ab da ging leider garnichtsmehr. Beim Komplilieren wurde kein einziger JUnit Befehl mehr erkannt.
Naja Lösung war nun, dass ich nicht junit4.jar sondern nur junit.jar in den CLASSPATH gesetzt habe.
Was ich dabei nciht verstehe ist, dass junit.jar ein verweis auf die Bibliothek von JUnit3 und nicht JUnit4 ist.
Ich habe aber Syntax von JUnit4 genutzt oder?
Hier ein kleiner Auszug…
…
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.Before;
public class testDoppeltVerketteteListe {
private doppeltVerketteteListe list;
@Before
public void setUp(){
list = new doppeltVerketteteListe(10);
}
@Test
public void testNr1() throws DequeFull, DequeEmpty {…
Das ANT File enthält jetzt keine (expliziten) Verweise auf die JUnit Bibliothek und der CLASSPATH enthält die JUnit3 Bibliothek. Warum funktioniert das trotzdem???
Viele Grüße
Johannes