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 :

Test unitaire JDBC Postgresql


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut Test unitaire JDBC Postgresql
    Bonjour à tous,

    Je veux faire des test unitaires pour savoir si je me connecte bien à ma base de données mais je tombe sur cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.ServletException: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    Sans passer par des tests unitaires la connexion se fait correctement, mais lorsque je lance mvn -test cela me renvoie l'erreur.

    Je pense que cela vient des JNDI. Il manque les références pour se connecter à la base de données car lorsque je lance mon web service avec tomcat, vu que le fichier qui contient les références se trouve dans un dossier de tomcat il n'y a pas de problèmes.

    Comment faire pour arriver à se connecter à la base de données et faire des test unitaires dessus ?

  2. #2
    Expert éminent
    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
    Par défaut
    les test unitaire sont en général des application autonome, ils ne tournent pas dans une conteneur web.


    En général, pour ce qui nécessite du jndi pendant le test, j'ai tendance à utiliser la librairie simplejndi, qui permet facilement de créer un contexte jndi avec des datasources dedans.

    Pour ce qui est de la base de données, en général j'utiliser une base type h2 ou derby, entièrement java, ça m'évite de devoir configurer des base type oracle / mysql spécifiquement pour les tests. Avec ça je suis certain de ne pas affecter la prod.

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    Merci pour ta réponse.

    J'utilise Eclipse donc mes tests sortent dans la console et pour la base de données j'utilise postgres.

    Je suis allé voir la doc pour la lib, ils disent de créer un fichier jndi.properties, le ziper, l'importer sur eclipse, créer un autre fichier database.properties, mettre les informations de la base de données et le mettre a côté de jndi.properties. C'est bien ça ?

    Mais ensuite niveau java, on récupère comment les jndi avec cette lib ?

  4. #4
    Expert éminent
    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
    Par défaut
    zipper et importer sur eclipse ?

    non non.
    Tu rajoute cette librairie dans ton projet eclipse (histoire que tes test y aien accès)

    Tu crée un fichier jndi.properties dans les ressources de ton project (src/java, src/ressource , tout dépend comment tu as créé ton projet)
    et dans lequel tu met les informations, a savoir
    java.naming.factory.initial et org.osjava.sj.root

    ensuite, simplejndi utilise simplement la hierarchie située sous le root, un fichier = une entrée dans le jndi. Il y a dans la doc un exemple pour une datasource


    Pour le reste, tu n'a rien à changer dans ton code, avec cette config, dès qu'un bout de code demandera un accès au jndi, il tombera sur le simple jndi

  5. #5
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    dans le fichier properties je dois mettre java.naming.factory.initial et org.osjava.sj.root. Mais les informations de la base de données ? je les mets où ? Dedans aussi ?

  6. #6
    Expert éminent
    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
    Par défaut
    regarde la doc, c'est indiqué comment créer la datasource ^^

    je vais quand même pas faire un copier coller de la doc

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

Discussions similaires

  1. Tests Unitaires - Production de documents
    Par giviz dans le forum Test
    Réponses: 13
    Dernier message: 07/02/2005, 08h41
  2. Tests unitaires en C#
    Par Bouboubou dans le forum Test
    Réponses: 2
    Dernier message: 01/10/2004, 13h03
  3. [TESTS] Tests unitaires
    Par mathieu dans le forum Test
    Réponses: 4
    Dernier message: 08/01/2004, 12h59
  4. JBuilder 8 et JDBC/PostgreSQL
    Par nicox dans le forum JBuilder
    Réponses: 2
    Dernier message: 14/05/2003, 15h43

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