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 :

[Maven2] tests JUnit & ressources


Sujet :

Maven Java

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut [Maven2] tests JUnit & ressources
    Bonjour,
    je réalise un projet java assez simple, mais j'ai un pb pour les tests.

    J'ai une classe 'pack.Classe' qui est testée dans 'pack.ClasseTest'

    J'appelle une méthode 'lire(String nomfichier)' depuis les classe de test sur la classe testée.

    Le fichier, c'est "Projet/src/test/resources/rep/fichier.xml".
    Ce fichier est bien copié en tant que "target/test-classes/rep/fichier.xml".

    En interne, je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File f = new File("rep/fichier.xml");
    Et le pb, c'est que quand je fais f.exists(), il me répond false.

    J'ai testé, j'arrive à l'avoir en faisant mettant "src/test/resources/rep/fichier.xml" mais c'est pas normal, non?

    Ai-je oublié qqchose?

  2. #2
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    c'est normal car quand tu fais File f = new File("rep/fichier.xml");

    il essaye de trouver rep/fichier.xml par rapport au basedir d'exécution de Maven.

    Ta classe est bien dans le classpath d'exécution mais il s'attend à trouver ton fichier dans rep à partir de la racine du projet ou tu executes Maven.

    Mais ça c'est vrai pour n'importe quelle appli.

    donc pour cela il vaut mieux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    InputStream in = this.getClass().getRessourceAsStream("rep/fichier.xml");
    et tu utilises ton InpuStream avec ton parser XML

    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    URL url = ClasseTest.class.getResource("rep/fichier.xml");
    File f = new File(url.getFile());
    et ça devrait fonctionner

Discussions similaires

  1. [MVN2][JUnit] test avec les ressources du main
    Par Vince78 dans le forum Maven
    Réponses: 7
    Dernier message: 26/09/2007, 20h33
  2. différents tests Junit/Mock objects
    Par LESOLEIL dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 09/05/2006, 18h28
  3. [JUnit] @Test, Junit et Java 1.5
    Par pierreonxbox dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 18/04/2006, 16h55
  4. [Plugin Test] JUnit et autres outils...
    Par seb-astien dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/09/2005, 13h12

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