IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

[Junit] Migration vers JUnit 4.5 avec Galileo


Sujet :

Eclipse Java

  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut [Junit] Migration vers JUnit 4.5 avec Galileo
    Bonjour,

    Je développe un projet Java sous Eclipse Galileo.
    J'avais commencé mes tests unitaires avec JUnit 3.8 sans problème. Mais des fonctionnalités de JUnit 4.5 m'intéressent (tests paramétrés notamment). J'ai donc essayé de migrer vers Junit 4.5 mais j'obtiens l'erreur suivante :
    java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:29)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
    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)
    Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
    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:315)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
    ... 25 more
    En cherchant sur internet, j'ai trouvé ce lien qui correspond à mon problème.
    Il propose ceci :
    I guess the easiest way is to just replace eclipse/plugins/org.eclipse.jdt.junit_3.5.0.v20090526-2000.jar with the patched version from here:
    https://bugs.eclipse.org/bugs/show_b...?id=276111#c11
    sauf que j'ai vérifié, moi j'ai une version plus récente :
    org.eclipse.jdt.junit_3.5.2.r352_v20100113-0800.jar
    Du coup, je ne sais pas quoi faire...
    J'ai mis les plugin de Galileo à jour, mais ça n'a rien changé.

    Quelqu'un a déjà eu ce problème?
    Toute idée ou conseil seront les bienvenus

  2. #2
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2010
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    Salut !

    Désolé de remonter ce post du mois de Mai !
    Seulement c'est le premier qui est apparut dans mon moteur de recherche...
    Et il correspond mot pour mot à mon problème.

    J'ai trouvé sur ce lien cette réponse :
    I downloaded JUnit 4.7 and put junit-4.7.jar in my build path (instead of the older version).
    That solved it.
    C'est ce que je fais dans Eclipse :
    propriété du projet => java build path => add external jars =>
    org.junit4_4.5.0.v20090423 => junit.jar
    Mais l'erreur persiste.

    J'aimerais bien résoudre ce souci pour pouvoir enfin débuter les tests unitaires.

    Si une personne pouvait me venir en aide ça serait bien aimable à elle.

    Cordialement.

  3. #3
    Membre expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 474
    Points : 3 003
    Points
    3 003
    Par défaut
    Le support de JUnit 4 est devenu "natif" sous Eclipse Helios. Le meilleur conseil qu'on puisse donner est donc d'utiliser Helios.

  4. #4
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2010
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    Merci pour ton aide Mickael_Istria !

    Je réponds tardivement car j'ai rencontré des soucis de connexions internet, mais comme on dit, il n'est jamais trop tard :p

    Finalement j'ai résolu mon problème différemment, en conservant Eclipse Galileo.
    Voilà ce que j'ai fais :
    -> Clic droit sur projet
    -> Properties
    -> Java Build Path
    -> Add external JARs
    -> Sélectionner le fichier commençant par "org.hamcrest.core"
    -> Valider.

    Donc la solution est bidon, seulement je cherchais dans d'autres dossiers et ne le trouvait pas, normal puisqu'il était à la racine. o/

    Voilà, peut être que ça aidera une autre personne aussi perdue que moi :p

  5. #5
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut
    je viens de voir les réponses, je n'ai pas encore testé pour moi, mais je pense que j'installerai Helios quand je démarrerai mon prochain projet Java.

    Etant donné les réponses apportées, je considère ce sujet clos.
    Merci pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 152
    Dernier message: 07/02/2014, 11h12
  2. Migration vers Eclipse Galileo vers Juno
    Par barzane dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 15/02/2013, 16h38
  3. Réponses: 1
    Dernier message: 18/11/2011, 22h44
  4. Réponses: 0
    Dernier message: 20/04/2010, 12h24
  5. Réponses: 3
    Dernier message: 04/09/2006, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo