Ich versuche, eine JUnit 4.8.1-Task in Ant 1.7.1 auszuführen. Meine IDE ist Eclipse Helios. Ich habe jetzt seit 2 Tagen meinen Kopf gegen eine Mauer geschlagen und kann das nicht herausfinden. Ich bin sicher, wenn ich andere Beiträge lese, ist es ein Klassenpfadproblem, aber ich kann nicht sehen, wo ich falsch liege.Ant JUnit Task konnte junit/framework/TestCase.class nicht finden
Mein JUnit4 Testsuite ist wie folgt definiert:
package mypackage.tests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* JUnit 4 Test Suite for the entire <code>mypackage</code>
* package
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({ mypackage.tests.controller.AllTests.class })
public class AllTests {
}
... einfach genug, aber der Test nicht erfolgreich mit einem ClassNotFoundException
java.lang.ClassNotFoundException: mypackage.tests.AllTests
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.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
Wenn ich auf dem Debug-Flag wechseln, ich die folgende Spur von Ant:
(...)
[junit] Couldn't find junit/framework/TestCase.class
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-launcher.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-junit.jar
fileset: Setup scanner in dir C:\eclipse\plugins with patternSet{ includes: [org.junit_4.8.1.v4_8_1_v20100427-1100/junit.jar] excludes: [] }
Finding class junit.framework.Test
Loaded from C:\eclipse\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\junit.jar junit/framework/Test.class
(...)
Offensichtlich ist das JUnit-Glas auf dem Klassenpfad und o Da Klassen wie Test.class abgeholt werden, warum bekomme ich dann die Nachricht 'konnte nicht TestClass.class finden'?
Ich versuchte, die junit.jar zur Ameise Classpath in dem Eclipse GUI hinzufügen, und dies hat folgende Wirkung:
(...)
[junit] Found C:\eclipse\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\junit.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-launcher.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant.jar
[junit] Found C:\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\lib\ant-junit.jar
(...)
[junit] WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:C:/eclipse/plugins/org.apache.ant_1.7.1.v20100518-1145/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/C:/eclipse/plugins/org.apache.ant_1.7.1.v20100518-1145/lib/ant.jar!/org/apache/tools/ant/Project.class
(...)
Kann jemand bitte, bitte, bitte helfen Sie mir diese Arbeit zu bekommen!
Oh, ich habe es fast vergessen ... die Testsuite läuft in Eclipse einwandfrei.
Vielen Dank im Voraus!
OMG, ich könnte weinen. Zwei Tage für DAS !? Das war genau das Problem. Ich konnte nicht herausfinden, wie man nur die Klassendateien hinzufügt, also fügte ich eine Aufgabe hinzu und fügte die Jar-Datei dem Klassenpfad hinzu. –
user391549