58 votes

Classe de test JUNIT dans Eclipse - java.lang.ClassNotFoundException

J'essaie d'exécuter mon test junit (pour vérifier qu'un fichier de propriétés se charge correctement) mais j'obtiens ClassNotFoundException bien que la classe soit là et que toutes les bibliothèques requises soient là aussi.

Voici l'erreur que je reçois :

Class not found ConfigurationManagerTest                                                 java.lang.ClassNotFoundException: ConfigurationManagerTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Avez-vous une idée de la façon de résoudre ce problème ?

Merci.

17 votes

Essayez de nettoyer et de construire votre projet.

1 votes

J'ai essayé plusieurs fois, mais j'obtiens toujours la même erreur.

3 votes

Ouvrez la fenêtre Run Configuration dans eclipse, sélectionnez le test unitaire que vous avez exécuté et allez dans l'onglet classpath : ici vous pouvez vérifier ce qui est réellement dans le classpath.

0voto

HoppyKamper Points 838

J'ai reçu cette erreur parce que j'avais récemment créé un nouvel espace de travail et que mes "JREs installés" n'étaient pas configurés correctement. Assurez-vous que dans Preferences -> Java -> Installed JREs le dossier racine de votre JDK est sélectionné. Pour une raison quelconque, le défaut pour moi dans un nouvel espace de travail était un JRE.

0voto

Jakob Hartman Points 3

Je sais qu'on a déjà répondu à cette question il y a longtemps, mais la réponse n'a pas résolu le problème pour moi. J'ai juste supprimé tout ce qui se trouvait dans les sources dans les paramètres du chemin de construction et je les ai ajoutés à nouveau.

0voto

David Marciel Points 374

J'ai eu ce problème, dans mon cas le problème repose dans la compilation, j'utilise maven et les classes de test n'ont pas compilé.

Je l'ai corrigé en faisant une installation maven (il compile tous les fichiers), vous pouvez aussi vérifier pour d'autres raisons, qui empêchent le test de compiler comme si votre "configurations run" saute les tests pour gagner du temps.

0voto

Witold Kaczurba Points 2815
  • En supposant que vous avez essayé tout ce qui est raisonnable (supprimer la cible, rafraîchir, nettoyer, reconstruire, installer maven...) et que vous avez réalisé qu'Eclipse ne se comporte pas de manière raisonnable...

  • Maintenant : Vérifiez s'il n'y a pas d'erreurs suggérant qu'il peut s'agir d'un plugin (n'importe quel plugin) qui a quelque chose à voir avec les tests.

  • Dans mon cas :

    • J'ai supprimé EclEmma.
    • Ça a commencé à fonctionner...

J'ai passé quelques heures à essayer de le deviner.

0voto

K. Andy wang Points 89

Veuillez vous assurer que le dossier de sortie dans Java Build Path comme ci-dessous, ce qui détermine l'endroit où le fichier .class est généré, puis nettoyez le projet.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X