Hi, ich bin hier neu und habe mich, nachdem ich schon öfter auf diesen Seiten Hilfe gefunden habe, nun angemeldet, da ich nicht weiter komme.
Ich versuche JUnit-Tests mittels einer Ant-Task ablaufen zu lassen. Leider bekomme ich immer eine "java.lang.ClassNotFoundException". Ich habe jetzt bereits mehrere Stunden und etliche Websites und Foren durchstöbert, bin aber nicht zu einer Lösung gekommen.
Hier meine build.xml:
Die Consolenausgabe:
Und zu guter Letzt die Ausgabe in der Datei:
Ich schätze es liegt am classpath.test, weiß aber nicht wie ich den anpassen muss. Das kann doch eigentlich nicht so schwer sein, oder?
Danke im Voraus für die Antworten...
:EDIT:
Ich vergaß noch mitzuteilen, dass die Tests innerhalb von Eclipse als JUnit-Tests ohne Probleme laufen
Ich versuche JUnit-Tests mittels einer Ant-Task ablaufen zu lassen. Leider bekomme ich immer eine "java.lang.ClassNotFoundException". Ich habe jetzt bereits mehrere Stunden und etliche Websites und Foren durchstöbert, bin aber nicht zu einer Lösung gekommen.
Hier meine build.xml:
Java:
<project name = "StackTest" default="JUNIT" basedir=".">
<description>
ANT-File for Testing the Stack
</description>
<!--******************************
Compilieren des Projekts
*******************************-->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="testpath" location="build/de/foo/bar"/>
<path id="classpath.base">
</path>
<path id="classpath.test">
<pathelement path="C:/Programme/junit4.8.1/junit-4.8.1.jar" />
<pathelement path="${testpath}" />
<path refid="classpath.base" />
</path>
<target name="clean">
<!-- Erstellte Verzeichnisse loeschen -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
<target name="compile" depends="clean">
<!-- Compiliere den JAVA-Code -->
<echo>Compile ...</echo>
<mkdir dir="${build}"/>
<javac srcdir="${src}" debug="true" optimize="false" includes="**/*.java" destdir="${build}"/>
</target>
<target name="dist" depends="compile">
<!-- Erstellen der Distribution -->
<echo>Erstellen der Distribution ...</echo>
<mkdir dir="${dist}/lib"/>
<!-- Alles in StackTest.jar Datei -->
<jar jarfile="${dist}/lib/StackTest.jar" basedir="${build}"/>
</target>
<!--******************************
Aufrufen der Tests
*******************************-->
<target name="JUNIT" depends="dist">
<junit printsummary="yes" fork="yes" haltonfailure="no" showoutput="true">
<formatter type="plain"/>
<classpath refid="classpath.test"/>
<test name="TestMyStack.class"/>
</junit>
</target>
</project>
Die Consolenausgabe:
Code:
Buildfile: C:\Dokumente und Einstellungen\tme\workspace\Stack\build.xml
clean:
compile:
[echo] Compile ...
[mkdir] Created dir: C:\Dokumente und Einstellungen\tme\workspace\Stack\build
C:\Dokumente und Einstellungen\tme\workspace\Stack\build.xml:33: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
Compiling 2 source files to C:\Dokumente und Einstellungen\tme\workspace\Stack\build
Note: C:\Dokumente und Einstellungen\tme\workspace\Stack\src\foo\bar\TestMyStack.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
dist:
[echo] Erstellen der Distribution ...
[mkdir] Created dir: C:\Dokumente und Einstellungen\tme\workspace\Stack\dist\lib
[jar] Building jar: C:\Dokumente und Einstellungen\tme\workspace\Stack\dist\lib\StackTest.jar
JUNIT:
[junit] Running TestMyStack.class
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Test TestMyStack.class FAILED
BUILD SUCCESSFUL
Total time: 3 seconds
Und zu guter Letzt die Ausgabe in der Datei:
Code:
Testsuite: TestMyStack.class
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
Caused an ERROR
TestMyStack.class
java.lang.ClassNotFoundException: TestMyStack.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
Ich schätze es liegt am classpath.test, weiß aber nicht wie ich den anpassen muss. Das kann doch eigentlich nicht so schwer sein, oder?
Danke im Voraus für die Antworten...

:EDIT:
Ich vergaß noch mitzuteilen, dass die Tests innerhalb von Eclipse als JUnit-Tests ohne Probleme laufen

Zuletzt bearbeitet: