2010-04-14 8 views
3

Strangest chose est arrivé mon test fonctionnait bien et maintenant ce ne est pas plus que je ne change pas le code du tout ici est l'exception:Pourquoi mon test ne fonctionne pas

Class not found com.example.test 
java.lang.ClassNotFoundException: com.example.test 
    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:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    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) 
+0

Avez-vous essayé de redémarrer l'IDE (Eclipse)? –

+0

@Petar Minchev oui –

+0

2 conseils qui peuvent fonctionner: - actualiser votre projet (F5) - nettoyer votre projet (Projet -> propre) – chburd

Répondre

3

Je vois que vous utilisez Eclipse, mais êtes-vous également en utilisant un autre outil build/test externe comme Ant ou Maven? Parfois, Eclipse peut se désynchroniser en utilisant également d'autres outils externes.

Si vous utilisez des outils externes, faire tout ce qui est nécessaire pour nettoyer les artefacts générés (par exemple mvn propre). Ensuite, actualisez le projet Eclipse et effectuez une construction propre comme suggéré précédemment. Ensuite, essayez à nouveau d'exécuter votre test d'unité à l'aide d'Eclipse.

Bonne chance et j'espère que cela vous aidera.

0
machine virtuelle Java

ne peut pas trouver test de classe. est le nom de classe correct. Je veux dire, n'est-ce pas com.example.Test?

+0

@GK peu importe le nom du paquet, j'utilise ce test pour tester ma classe n'a pas changé du tout juste changé ma classe et testé la méthode pour cette classe comme plusieurs fois jusqu'à maintenant, ça a juste cessé de fonctionner sur rien –

+0

Réinstaller Eclipse vous aidera à coup sûr :) Sauvegardez simplement votre espace de travail et utilisez-le plus tard. Bien avant de réinstaller, essayez les astuces de chburd. –

+0

Avez-vous supprimé des références de son chemin de génération? Ou la ressource à laquelle le buildpath du projet fait référence. Si vous utilisez eclipse, créez votre projet une fois. – GuruKulki

0

Cochez la case Exécuter config du test JUnit. Dans l'onglet classpath, resotre les entrées par défaut une fois dans le cas où ce n'est pas déjà le cas. Dans les propriétés du projet, vérifiez si le paquet source junit et le fichier source des classes se trouvent dans le package source et qu'une compilation de classe réelle est requise pour la classe testée dans votre dossier cible attendu.

0

j'avais problème similaire et problème était à cause des chemins de construction brisées à des bibliothèques externes (par exemple le serveur Selenium). Alors tout d'abord faire plaisir chemin de génération ouvert (projet clic droit -> Chemin de génération -> Configurer le chemin de compilation) et vérifiez que peuvent être chargés avec succès toutes les bibliothèques externes (il y a des messages comme «ne peut pas charger). Très probablement une bibliothèque a été renommée/déplacée pendant l'optimisation ou l'ajout d'outils externes comme Ant. Hope this helps et il permettra d'économiser votre temps exorbités autour :)

WBR, Andrey

0

Si vous utilisez Maven pour construire votre projet, il met toutes les classes Java compilées dans le dossier comme cible/classes et classes d'essai sous target/test-classes. Donc je suppose qu'eclipse ne pourra pas trouver des classes de target/test-classes. Si vous souhaitez exécuter des classes JUnit à partir d'Eclipse, utilisez Eclipse-> Project-> clean, puis toutes les classes seront sous la même cible configurée dans eclipse.

Questions connexes