# [junit] wie Beispiel starten



## Krabat (14. Sep 2005)

Moin!

Ich lese gerade den install Teil von JUNIT und dort soll ich den classpath ändern, so daß er auf das junit.jar zeigt. Also habe ich es in den Aufruf reingepackt. So sehen Aufruf und Fehlerausgabe aus. Die Samples, also der Ordner "samples" befindet sich im gleich Verzeichnis wie das junit.jar, sollte also eigentlich funzen, oder? 


```
C:\Sun\junit3.8.1>java -classpath C:\Sun\junit3.8.1\junit.jar junit.textui.TestRunner junit.samples.AllTests
Class not found "junit.samples.AllTests"
```

Meine Versuche finden in der WindowsXP Shell statt, was mache ich falsch?


----------



## kama (14. Sep 2005)

Hi,



			
				Krabat hat gesagt.:
			
		

> ...
> Also habe ich es in den Aufruf reingepackt. So sehen Aufruf und Fehlerausgabe aus. Die Samples, also der Ordner "samples" befindet sich im gleich Verzeichnis wie das junit.jar, sollte also eigentlich funzen, oder?
> 
> 
> ...



Der Aufruf solltes Du bitte in der Form ändern:


```
C:\Sun\junit3.8.1>java -classpath C:\Sun\junit3.8.1\junit.jar junit.textui.TestRunner samples.AllTests
Class not found "junit.samples.AllTests"
```

Bitte auf den Teil *junit.samples.AllTests* achten. Geändert in *samples.AllTests*.

Wenn das immer noch fehlschlägt, dann bitte im Verzeichnis *Samples* prüfen, ob dort auch eine Datei *AllTests.class* vorhanden ist.

MfG
Karl Heinz


----------



## Krabat (14. Sep 2005)

hmm... komisch, also ohne "junit" am beginn kommt die Meldung ebenfalls:

```
C:\Sun\junit3.8.1>java -classpath C:\Sun\junit3.8.1\junit.jar junit.textui.TestR
unner samples.AllTests
Class not found "samples.AllTests"
```


im Verzeichnisbaum müßte eigentlich alles stimmen:

```
C:\Sun\junit3.8.1\junit\samples>dir
 Datenträger in Laufwerk C: hat keine Bezeichnung.
 Datenträgernummer: 07D2-0212

 Verzeichnis von C:\Sun\junit3.8.1\junit\samples

14.09.2005  11:10       <DIR>          .
14.09.2005  11:10       <DIR>          ..
04.09.2002  23:29       <DIR>          money
04.09.2002  23:29                1.479 AllTests.class
04.09.2002  23:29                  499 AllTests.java
04.09.2002  23:29                2.125 SimpleTest.class
04.09.2002  23:29                1.202 SimpleTest.java
04.09.2002  23:29                2.907 VectorTest.class
04.09.2002  23:29                1.666 VectorTest.java
               6 Datei(en)          9.878 Bytes
               3 Verzeichnis(se),  14.549.319.680 Bytes frei
```


hmm...


----------



## Krabat (14. Sep 2005)

Ich habe das dumpfe Gefühl, es liegt am classpath...
Kann es sein, daß das Problem ist, daß das jar file _junit.jar_ heißt, während auch ein Verzeichnis mit Namen _junit_ im gleichen Verzeichnis existiert???


```
C:\Sun\junit3.8.1>dir
 Datenträger in Laufwerk C: hat keine Bezeichnung.
 Datenträgernummer: 07D2-0212

 Verzeichnis von C:\Sun\junit3.8.1

14.09.2005  11:10       <DIR>          .
14.09.2005  11:10       <DIR>          ..
04.09.2002  23:29       <DIR>          doc
04.09.2002  23:29       <DIR>          javadoc
04.09.2002  23:29       <DIR>          junit
04.09.2002  23:29               15.172 cpl-v10.html
04.09.2002  23:29              121.070 junit.jar
04.09.2002  23:29               21.614 README.html
04.09.2002  23:29               57.635 src.jar
               4 Datei(en)        215.491 Bytes
               5 Verzeichnis(se),  14.545.813.504 Bytes frei
```

Wie kann ich das umgehen? Wenn ich nur *-classpath C:\Sun\junit3.8.1* angebe, findet er das jar file nicht mehr, bei Angabe von *-classpath C:\Sun\junit3.8.1\junit.jar* findet er wieder die sample files nicht...
Beides mit ";" getrennt scheint auch nicht zu funzen 


Hier nochmal die beiden Fehlermeldungen:

```
C:\Sun\junit3.8.1>java -classpath C:\Sun\junit3.8.1 junit.textui.TestRunner junit.samples.AllTests
Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/TestRunn
er

C:\Sun\junit3.8.1>java -classpath C:\Sun\junit3.8.1\junit.jar junit.textui.TestRunner junit.samples.AllTests
Class not found "junit.samples.AllTests"
```

Ich starte auch alles aus diesem Verzeichnis heraus, was (dachte ich) Vorteile bringen könnte...


[edit: genauen Aufrufe hinzugefügt]


----------



## Krabat (14. Sep 2005)

finally.....

puh! habs endlich gelöst, war allerdings eine Fleißaufgabe/Ausprobiererei... hätte nicht gedachte, daß es überhaupt noch hinhaut. Mit folgendem Weg gehts:


```
C:\>java -cp C:\Sun\junit3.8.1\junit.jar;c:\sun\junit3.8.1\ junit.textui.TestRunner junit.samples.AllTests
.........................................
.........................................
.....................................
Time: 1,422

OK (119 tests)
```

bzw. wenn man sich bereits in dem Verzeichnis befindet reicht:

```
C:\Sun\junit3.8.1\>java -cp junit.jar;. junit.textui.TestRunner junit.samples.AllTests
```

--> dadurch wird nämlich einmal das jar file explizit eingebunden und einmal das Verzeichnis an sich, was man braucht, da auf jar file *und* die Verzeichnisstruktur zugegriffen werden muss.

juhuuhhh


----------

