2012-10-20 2 views
0

J'essaie d'utiliser Arquillian pour tester mes classes de référentiel JPA. Cependant, je ne reçois qu'une exception nullpointer me disant qu'il ne trouve pas le fichier persistence.xml. Comment le configurez-vous dans un projet Maven standard?Comment tester JPA dans Arquillian

Répondre

0

Avez-vous regardé la documentation officielle here. Le project structure suggère que son construit en utilisant Maven.

Si vous rencontrez toujours des problèmes, publiez les messages d'exception.

Bonne chance!

0

Il semble que votre déploiement ShrinkWrap ne contienne pas le fichier persistence.xml dans le bon chemin. Le fichier persistence.xml doit se trouver dans le répertoire META-INF d'un fichier JAR ou dans le répertoire WEB-INF/META-INF d'un fichier WAR. Vous pouvez vérifier cela de deux façons:

  1. A travers le drapeau de verbosité de la méthode Archive.toString(...):

    Dans votre méthode @Deployment, vous pouvez imprimer le contenu de l'archive, en utilisant la méthode toString, comme

    @Deployment 
    public static Archive<?> createDeployment() { 
         WebArchive war = ShrinkWrap.create(WebArchive.class).addClasses(Foo.class); 
         System.out.println(war.toString(true)); 
         return war; 
    } 
    
  2. Configuration Arquillian pour écrire le déploiement généré sur le disque:

    Vous peut ajouter l'élément de configuration engine à votre arquillian.xml avec la propriété deploymentdeploymentExportPath, comme

    <engine> 
        <property name="deploymentExportPath">target/deployment</property> 
    </engine> 
    

    Cette ordonnerait Arquillian d'écrire les déploiements il dans un sous-répertoire génère dans le répertoire cible généré par Maven.

0

Il y a aussi des tas d'exemples dans le showcase project on github, y compris les tests JPA (également en utilisant Arquillian persistance Extension).

Espérons que cela vous mènera à la bonne voie :)

Questions connexes