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

Maven Java Discussion :

[MVN2][JUnit] test avec les ressources du main


Sujet :

Maven Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut [MVN2][JUnit] test avec les ressources du main
    Bonjour,

    Est il possible de lancer les tests en prenant en compte le répertoire src/main/resources ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Oui, en configurant son testResource sur son pom.xml.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Vince78 Voir le message
    Est il possible de lancer les tests en prenant en compte le répertoire src/main/resources ?
    Il est toujours pris en compte. Qu'est ce qui te fait penser qu'il n'est pas pris en compte?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    romaintaz :
    Il me semble que je l'ai déjà rajouté dans mon pom.xml. Je posterai le code demain pour vérifier s'il est bon.

    denisC :
    Les tests passent avec eclipse mais pas avec maven.
    La classe testée charge des ressources depuis les sources principales. Et depuis maven, les tests échouent car il ne trouve pas les fichiers de ressources.

    J'avais orienté mes recherches sur le plug in de test mais ça n'a pas l'air d'être ça d'après ce que tu me dis.

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Vince78 Voir le message
    Les tests passent avec eclipse mais pas avec maven.
    La classe testée charge des ressources depuis les sources principales. Et depuis maven, les tests échouent car il ne trouve pas les fichiers de ressources.
    Les ressources sont bien dans src/main/resources ? Est-ce qu'elles sont inclues dans le jar généré?

    Qu'est ce que tu utilises pour charger une ressource?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Effectivement, j'ai regardé dans le target/classes et toutes mes ressources sont bien là.

    Ma classe testée charge les ressources par ce code là :
    RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
    URL url = ClassLoader.getSystemResource(RESOURCE_BUNDLE.getString(key));

    Pensez vous que JUnit ne charge pas les classes comme avec un jar ?


    P.S : Voici ce que j'avais rajouté sans succès dans mon pom.xml

    <build>
    <testResources>
    <testResource>
    <directory>src/main/resources</directory>
    </testResource>
    </testResources>
    </build>

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Vince78 Voir le message
    ClassLoader.getSystemResource(RESOURCE_BUNDLE.getString(key));
    Voilà ton problème : tu utilises le classloader system. Dans maven, le classloader system est celui qui à servi à lancer Maven, donc il ne contient que le contenu de maven.jar.

    Il te faut donc utiliser le classloader courant et non le classloader system.

    Dans eclipse, il doit démarrer les tests dans une nouvelle JVM, ce qui lui permet d'avoir le system classloader avec tout dedans. Mais c'est beaucoup plus lent, parcequ'il faut démarrer une nouvelle JVM.

    Tu pourrais faire la même chose avec Surefire (forkmode=always), même c'est qudn même plus propre et simple d'utiliser le dernier classloader de la hierarchie plutot que le system.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Bien joué le coup du class loader.

    Les tests vont un peu plus loin maintenant.

    Les problèmes restants sont une autre histoire avec le serveur X11 ; je vais ouvrir un autre fil de discussion.

    Merci beaucoup,

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 04/05/2011, 12h37
  2. Application exécutée avec les ressources d'autres postes
    Par Mister Nono dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2008, 09h00
  3. [XPATH]Test avec les tests de noeud
    Par jayjay78 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/01/2008, 09h50
  4. commande test avec les expressions régulières
    Par Chatbour dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 22/10/2007, 13h15
  5. Réponses: 12
    Dernier message: 09/06/2007, 00h48

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