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 :

Nettoyer les ressources de tests avant de lancer les tests


Sujet :

Maven Java

  1. #1
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 912
    Points : 1 372
    Points
    1 372
    Par défaut Nettoyer les ressources de tests avant de lancer les tests
    Bonjour,
    Lors de chaque phase de test, je voudrais que toutes les ressources de test soient supprimées puis recrées, car mes tests les altèrent.

    Voilà ce qui me semble être la plus correcte de toutes mes tentatives. Mais elle ne fonctionne pas plus que les autres.

    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
        <build>
    ...
            <plugins>
    ...
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.5</version>
                    <executions>
                        <execution>
                            <id>clean-before-test</id>
                            <phase>test</phase>
                            <!--phase>process-test-resources</phase-->
                            <goals>
                                <goal>clean</goal>
                            </goals>
                            <configuration>
                                <filesets>
                                    <fileset>
                                        <directory>${project.build.testOutputDirectory}</directory>
                                        <includes>
                                            <include>tc**/**</include>
                                        </includes>
                                        <followSymlinks>false</followSymlinks>
                                    </fileset>
                                </filesets>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>        
            </plugins>
        </build>
    Une idée ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    C'est dans ton init du test unitaire (setup ou @init) qu'il faut faire le travail de préparatoin et d'initialisation des ressources

  3. #3
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 912
    Points : 1 372
    Points
    1 372
    Par défaut
    Ca m'étonne tout de même. Cela me semblait être typiquement pour un outil de buid comme Maven !!!!!
    Il faudrait que je puisse récupérer les infos du mon pom.xml à l'intérieur de mes test cases !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Je ne sais pas trop ce que tu essaie de faire en fait ...

    Normalement, c'est à ton test de prendre ses ressources (par exemple dans le classpath sous test/regression/biduleMachin93, si il doit y avoir accès en lecture écriture, d'aller les foutre dans un dossier temporaire, et puis de faire ses test avec ces données sacrifielle. A priori, chaue test a son propre set de données, ses propre spécificité. Tu va te compliquer la tâche à faire faire ça par maven (qui devra alors connaitre chaque test) sans compter les effets de bords puisue maven lance tous les test l'un à la suite de l'autre. Si c'est à maven de nettoyer avant / après tes test, tu aura aussi beaucoup de mal à les lancer individuellement, par exemple depuis eclipse, ce qui va compliuer la vie de tes développeurs.

  5. #5
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 912
    Points : 1 372
    Points
    1 372
    Par défaut
    Salut tchize_, je vais suivre ton conseil et faire un mixte Maven + gestion des ressources dans le SetUp: Maven s'occupe de copier les resources de tests dans "target\test-classes" et chaque test s'occupe d'en prendre une copie propre dans "target\test-classes\xxxx\" qu'il pourra modifier à sa guise.

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    moi je serai plutôt pour que la gestions des ressources temporaires à créer/supprimer se gère intégralement via les tests unitaires eux-même ... avec le @Before, @BeforeClass, @After et @AfterClass.
    Maven pour moi n'a même pas à savoir ce que le programme a besoin de gérer comme ressource. Déjà, cela voudrait dire que le projet dépendrai de maven rien que pour faire ses tests unitaires, ... pour moi, c'est juste pas génial du tout.
    les TU (Tests Unitaires) doivent pouvoir s'exécuter dans un IDE sans maven
    les TU doivent pouvoir être lancés pour d'autres systèmes de builds (ant, gradle ...) de la façon la plus conventionnelle que possible. Ça aiderait la maintenance et le développement sur le projet.
    Je pourrais comprendre que les TU dépendent par exemple d'un serveur d'application où dans ce cas, maven ou autre aurait à en lancer un. Mais pour gérer des ressources, c'est un peu too much je pense.
    Cordialement,

  7. #7
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 912
    Points : 1 372
    Points
    1 372
    Par défaut
    Ici je bosse en solo ici pour me "détendre" donc j'ai pas trop d'enjeux sur le multi-développeur, sur les environnements variés, ...

    Par contre sur le principe d'"être capable de se passer de Maven" et par exemple pouvoir retomber sur Ant... Oui, mais cela ne sera jamais sans frais, puisque toute la config de dépendances est décrite dans Maven, tous les packages à produire aussi. Dans ma compréhension de ces systèmes, une fois que tu commmence avec un, tu continues avec un, sauf gros soucis. En tout cas tu ne changes pas à tout bout de champ !!

  8. #8
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Hmm, la déclaration des dépendances est en gros "extérieur" au code ou à son fonctionnement interne (je ne sais pas trop comment dire cela).
    Car que tu utilises ant ou maven, ou gradle, ou ivy ou rien (uniquement l'IDE) ... le code et les tests doivent marcher PAREIL.
    les outils de builds pour dire ce qu'ils sont, sont uniquement pour justement faire tes builds et pour le plus qu'offre certains comme Maven, Ivy ... t'aider aussi à gérer les dépendances
    Et par faire les builds, j'entends bien : compiler le code, lancer les tests unitaires et d'intégration, créer les jars, lancer les programmes de vérification des styles, de couverture de code etc .. !
    Mais si tu suis bien, à aucun moment, ils ne sont sensés gérer le fonctionnement du code !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/12/2010, 12h36
  2. [SL3] Attendre l'affichage avant de lancer les traitements
    Par lutecefalco dans le forum Silverlight
    Réponses: 2
    Dernier message: 06/05/2010, 11h47
  3. [AC-2003] Verifier si un fichier CSV existe avant de lancer les requetes.
    Par Bernard67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/03/2010, 14h46
  4. test avant/arrière ds les regexp javascript ?
    Par moukit233 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2010, 12h08
  5. charger toutes les ressources du site avant affichage
    Par avogadro dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/12/2006, 09h41

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