J'ai utilisé Intellij Idea 12 Community Edition. J'essaie de créer un scénario de test pour ma classe en créant un scénario de test. Quand je lance mon cas de test, il est dit
Java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at Java.lang.ClassLoader.defineClass1(Native Method)
at Java.lang.ClassLoader.defineClassCond(ClassLoader.Java:631)
at Java.lang.ClassLoader.defineClass(ClassLoader.Java:615)
at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:141)
at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:283)
at Java.net.URLClassLoader.access$000(URLClassLoader.Java:58)
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:197)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:306)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:247)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.Java:10)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.Java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.Java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.Java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.Java:26)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.Java:44)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.Java:195)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.Java:63)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at com.intellij.rt.execution.application.AppMain.main(AppMain.Java:120)
Caused by: Java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:306)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:247)
... 25 more
Comment pourrais-je lancer un cas de test dans Intellij. J'ai inclus le fichier jar junit4.11 à mon module
Avez-vous inclus le fichier hamcrest-core-1.3.jar
dans votre chemin de classe? Si non inclus, cela signifie inclure ce bocal et réessayer.
ajoutez junit.jar à votre dépendance au projet . vous devrez peut-être aussi ajouter hamcrest.jar.
Ouvrez Fichier-> Structure du projet, cliquez sur Modules-> Dépendances, ajoutez junit.jar.
La dernière version de hamcrest-all est disponible sur: https://search.maven.org/search?q=a:hamcrest-all
Téléchargez cette version (par opposition au hamcrest-core) et cela devrait le faire.
Si vous rencontrez cette erreur (et quelques autres threads) avec cette erreur et que l'ajout du fichier jar aux dépendances ne fonctionne pas, vous devrez l'ajouter au chemin de classe Java général.
J'ai rencontré cette erreur dans OSX où maven téléchargerait la dépendance, mais ne la trouverait pas en mode fork.
L'ajout de tous les fichiers hamcrest à Library/Java/Extensions a finalement résolu le problème alors que rien d'autre ne le ferait.