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

Tests et Performance Java Discussion :

[Arquillian] Peut-on éviter d'énumérer toutes les dépendances dans le @Deployment puisque Maven les connait?


Sujet :

Tests et Performance Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut [Arquillian] Peut-on éviter d'énumérer toutes les dépendances dans le @Deployment puisque Maven les connait?
    Bonjour,

    Je suis assez embarrassé.
    J'ai un EJB a tester, en plein milieu d'une série de modules Maven. Et j'essaie d'utiliser Arquillian pour cela.

    Dans la méthode @Deployment de mon test unitaire j'ai placé.
    archive.addClasses(MonEJBLocal.class, MonEJBBean.class);

    Cela n'a pas suffit, et tour à tour j'ai du rajouter, venus d'autres modules:
    archive.addPackages(false, "package de mes objets métiers");
    archive.addPackages(false, "package de mes classes utilitaires");
    archive.addPackages(false, "package de mes DAO");

    C'était presque sans fin, j'ai failli terminer par un:
    archive.addPackages(true, "package racine de mon application");

    car c'était très fastidieux.

    Depuis, c'est:
    "Il me manque apache-lang!"
    "Il me manque apache-logging!"
    "Il me manque..."

    Il faut que je recopie à la main toutes mes dépendances possibles et imaginables avant que Arquillian puisse lancer ses tests?

    Maven sert à quoi dans l'affaire?
    C'est lui qui connaît toutes les dépendances de mes tests. Arquillian ne sait pas s'interfacer avec? Quand ils se voient, ils font quoi? Une belote?

    Je suis à vingt lignes de
    archive.addPackages(false [ou même true!], ...);

    Et je n'ai pas fini d'entrer des packages d'API tierces...

    Comment puis-je arrêter cette fuite en avant?

    En vous remerciant,

    Grunt.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    J'ai un bout de piste: on peut l'obtenir en profitant du contenu de son pom.xml.

    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
       /**
        * Déploiement du test. 
        * @return Archive.
        */
       @Deployment public static WebArchive createDeployment()
       {
          WebArchive war = ShrinkWrap.create(WebArchive.class, TestEnvironnements.class.getSimpleName() + ".war"); //$NON-NLS-1$
          war.addClasses(ServiceGestionEnvironnementBean.class);
     
          MavenDependencyResolver resolver = DependencyResolvers.use(MavenDependencyResolver.class).loadMetadataFromPom("pom.xml"); //$NON-NLS-1$
          war.addAsResource("fr/monProjet/service/environnement/ServiceGestionEnvironnementBean.properties"); //$NON-NLS-1$
          war.addAsResource("fr/monProjet/service/environnement/ServiceGestionEnvironnementBean_fr.properties"); //$NON-NLS-1$
          war.addAsLibraries(resolver.artifact("fr.monProjet:objets.metiers").resolveAs(GenericArchive.class)); //$NON-NLS-1$
          return(war);
       }
    Mais tout n'est pas parfait, car il faut tout de même que j'insère les properties de mon projet à la main.

Discussions similaires

  1. Lister toutes les dépendances dans OPC
    Par letophe44 dans le forum z/OS
    Réponses: 1
    Dernier message: 15/05/2012, 12h46
  2. Réponses: 2
    Dernier message: 10/09/2007, 16h40
  3. Réponses: 5
    Dernier message: 20/10/2006, 13h16
  4. Réponses: 1
    Dernier message: 05/09/2006, 17h56
  5. Réponses: 3
    Dernier message: 19/10/2005, 03h01

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