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 :

Fichiers de tests et path relatif


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 27
    Par défaut Fichiers de tests et path relatif
    Salut à tous,

    J'ai une application à construire avec Maven (2.0.4).

    ça se passe bien pour la compil, mais il y a un soucis pour les tests.

    En effet, certains tests doivent lire/modifier/créer des fichiers. Lorsque je suis dans Eclipse, faire un File file = new File("src/test/input/fichierTest1.txt"); fonctionne bien. Mais lorsque je lance les tests depuis Maven, ça se corse...

    Donc, deux questions:

    1. Comment dire à Maven de copier des dossiers précis? L'arbo Maven est ainsi:
    src/test/java/.....
    et mes fichiers sont dans src/test/input, src/test/output et src/test/witness.
    Automatiquement, Maven copie les fichiers présents dans le src/test/java/..... mais pas les dossiers à côté. Savez-vous comment lui montrer ces dossiers??

    2. Une fois copiés, il y aura le problème du "working dir" de la JVM. En utilisant des paths relatifs (seul moyen d'être sûr que ça marche sur d'autres machine...), il y a le risque que Maven et Eclipse n'utilisent pas le même path...

    Voilà... peut être que je me fais plein de soucis pour rien... avez-vous une idée pour simplifier tout ça, ou faire en sorte que ça marche?

    Merci !

  2. #2
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 27
    Par défaut
    début d'auto-réponse... pour les futurs lecteurs qui auraient un problème similaire.

    Le working directory par défaut dans Eclipse comme dans Maven est le baseDir du projet.

    Si on cherche un fichier avec un chemin relatif, on accède via "src/test/blahblah".

    Pour spécifier à Mavan le working dir qu'il doit utiliser, on peut faire comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <forkMode>once</forkMode>
              <reportFormat>plain</reportFormat>
              <workingDirectory>${basedir}/src/test</workingDirectory>         
            </configuration>
          </plugin>
    Attention toutefois: dans ce cas le working dir de Maven et d'Eclipse peuvent être différent.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Par défaut
    Il faut contruire ton fichier avec le basedir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
        public static File getTestFile( String path )
        {
            return new File( getBasedir(), path );
        }
     
        public static File getTestFile( String basedir, String path )
        {
            File basedirFile = new File( basedir );
     
            if ( ! basedirFile.isAbsolute() )
            {
                basedirFile = getTestFile( basedir );
            }
     
            return new File( basedirFile, path );
        }
     
        public static String getTestPath( String path )
        {
            return getTestFile( path ).getAbsolutePath();
        }
     
        public static String getTestPath( String basedir, String path )
        {
            return getTestFile( basedir, path ).getAbsolutePath();
        }
     
        public static String getBasedir()
        {
            if ( basedir != null )
            {
                return basedir;
            }
     
            basedir = System.getProperty( "basedir" );
     
            if ( basedir == null )
            {
                basedir = new File( "" ).getAbsolutePath();
            }
     
            return basedir;
        }
    Et tu charges tes fichiers comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File f = getTestFile( "src/test/input/fichierTest1.txt" );

  4. #4
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 27
    Par défaut
    C'est mieux comme ça, effectivement!

    Mais ça t'oblige à gérer des paths absolus, finalement...

    Dans tous les cas, je vais tester, merci !

Discussions similaires

  1. upload de fichier et test sur extension
    Par debutant_linux dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 08/07/2007, 16h29
  2. Réponses: 9
    Dernier message: 26/07/2006, 16h22
  3. Erreur dans fichier de test d'un package
    Par momotsurugi dans le forum Oracle
    Réponses: 2
    Dernier message: 27/04/2006, 20h41
  4. [xsl-fo][external-graphic]path relatif
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/01/2006, 13h29
  5. [debutant][Fichier] Comment obtenir le path de mon fichier ?
    Par Soulsurfer dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 22/06/2004, 17h09

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