Testen mit JUnit

Ansics

Cadet 4th Year
Dabei seit
Mai 2003
Beiträge
107
Hi,

ich möchte gerne (bzw. ich soll trifft es besser) eine Klasse mit JUnit auf ihre Funktionalität testen.
Ich habe mir also JUnit runtergeladen und über Kommandozeile auch den Classpath zur junit.jar gesetzt.
Die zu testende Klasse ist schon kompiliert und liegt als *.class Datei vor. Der Code der Testklasse sieht wie folgt aus:

import junit.framework.*;
import junit.extensions.*;

public class testBrett extends TestCase{

public testBrett(int l){super(l);}

public static Test suite(){
return new TestSuite(testBrett.class);}

public static void main(String[] args){
junit.textui.TestRunner.run(suite());}

protected void setUp(){}
protected void tearDown(){}

public void testBrettTest0(){
try{Brett n = new Brett(12);
Brett m = new Brett(18);
assertEquals(6,n.größterTeiler(m));}
catch(Exception e){fail("fehlerhafte Exception");}}

public void testBrettTest1(){
try{Brett n = new Brett(0);
Brett m = new Brett(18);
assertEquals(0,n.größterTeiler(m));}
catch(Exception e){fail("fehlerhafte Exception");}}

public void testBrettTest2(){
try{Brett n = new Brett(12);
Brett m = new Brett(0);
assertEquals(0,n.größterTeiler(m));}
catch(Exception e){fail("fehlerhafte Exception");}}

public void testBrettTest3(){
try{Brett n = new Brett(12);
Brett m = new Brett(6);
assertEquals(6,n.größterTeiler(m));}
catch(Exception e){fail("fehlerhafte Exception");}}

}

Beim Compilieren gibt es einige Fehler, die darauf schließen lassen, dass er die Klasse juni.framework.TestCase nicht finden kann. Daraus ergeben sich sicherlich auch viele der anderen Fehler.
Weiß jemand von euch was zu tun ist?

Danke im Voraus
Ansics
 
Hi Ansics,
hast du deine Klassen auch im CLASSPATH? Wie hast du den gesetzt?
Gruß,
stengbiegel
 
Ich habe lediglich einen Classpathe zu der junit.jar Datei gesetzt.

Alos über !set classpath = "C:/sun/junit3.8.1/junit.jar"

Die Klassen, die ich testen will, befinden sich jedoch in einem andere verzeichnis
 
hab grad nochmal dein erstes post gelesen, wieso kompilierst du, wenn der Test schon als Klasse vorliegt? Du musst ihn doch nur ausführen, oder? Das geht analog zum Beispiel im JUnit Readme Abschnitt Installation. Das Setzen des Classpath kannst du auch über
Code:
java -cp $JUNIT_HOME/junit.jar:<pfad zu deinen klassen> <dein Test>
erledigen.
Ansonsten wäre es gut, wenn du postest, was du gemacht hast und die entsprechenden Ausgaben.
Gruß,
stengbiegel
 
Also ich hab:

1) Die Klasse "Brett" geschrieben, die ich testen will
2) Diese kompiliert (kein Problem)
3) Dann habe ich eine Klasse TestBrett geschrieben, die von TestCase extended ist
4) Darin habe ich dann die zu testenden Fälle programmiert (s. Code oben)
5) Dann hab ich JUnit installiert (Classpath zur junit.jar wie oben beschrieben gesetzt)
6) Dann wollte ich die Klasse TestBrett kompilieren

Bei Punkt 6 sind dann Fehler aufgetreten:

testBrett:java:4: cannot find symbol
symbol: class TestCase
public Class testBrett extends TestCase {
^

Und dann halt noch weitere Fehler (z.B. package junit.extensions.* does not exist). Das scheinen aber alles Fehler zu sein, die darauf schließen lassen, dass die Junit Klassen nicht gefunden werden :(

Ansics
 
Dann hast du dem Classpath des Compilers junit.jar nicht hinzugefügt.
Machst du mit javac -classpath ..., dann sollte es gehen.
Gruß,
stengbiegel
 
Zurück
Top