Ich habe einen Ordner (in dem ich alle Befehle ausführe) namens learning
. In diesem Ordner habe ich zwei Dateien, eine heißt Driver.java
eine einfache Hauptklasse mit einer einfachen Hello-World-Methode. Die andere Datei DriverTest.java
hat diesen Code wie unten gezeigt.
import static org.junit.Assert.*;
import org.junit.Test;
public class DriverTest {
@Test
public void test() {
fail("Not yet implemented");
}
}
Abgesehen davon habe ich JUnit 4.13-Beta-Jar im selben learning
Ordner.
Jetzt öffne ich die Befehlszeile in Windows und gehe zum learning
Ordnerspeicherort und führe diesen Befehl aus.
javac -cp junit-4.13-beta-1.jar;hamcrest-core-2.1-rc4.jar;. *.java
Es hat mir keine Fehler geben, daher hat es kompiliert beide Driver
und DriverTest
Java - Dateien.
Jetzt versuche ich, den JUnit-Test mit diesem Befehl auszuführen.
java -cp junit-4.13-beta-1.jar;hamcrest-core-2.1-rc4.jar;. org.junit.runner.JUnitCore DriverTest
Aber ich bekomme diesen Fehler:
JUnit version 4.13-beta-1
Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
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 org.junit.runner.Computer.getSuite(Computer.java:28)
at org.junit.runner.Request.classes(Request.java:77)
at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
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)
... 17 more
Warum wird mein HamCrest
Glas nicht gefunden? Es ist genau dort im selben Ordner, oder?
Sie haben dem Klassenpfad nur das aktuelle Verzeichnis für die Kompilierung hinzugefügt. Dies muss auch für den Testaufruf erfolgen, d.h. ;.
unter Windows :.
unter Linux
java -cp junit-4.13-beta-1.jar;. org.junit.runner.JUnitCore DriverTest
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen