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

avec Java Discussion :

Tester des procédures stockées avec SqlUnit et ANT


Sujet :

avec Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Par défaut Tester des procédures stockées avec SqlUnit et ANT
    Bonjour,

    c est mon premier post, j espère être dans le bon forum

    Je désire faire une petite application et je cherche a m organiser pour développer dans un premier temps la partie DB.
    J ai décider d utiliser un ensemble de procédure stockées définissant une "API" que le serveur applicatif (Java / tomcat) utilisera pour lire/écrire les données en base (postgresql ou mysql).
    (certains post sur ce forum m'ont confortés dans ce choix)

    Désirant systématiser / automatiser mes tests, j'ai découvert SqlUnit:
    Cette solution me semble à la fois simple et élégante:
    - elle ne nécessite pas (forcement) de coder en java
    - elle permet (aussi) de définir ses tests par via fichiers XML assez simple à lire/écrire
    - elle permet d automatiser le lancement des tests via ANT
    - elle génère des rapport de test XML que l on peut mettre en forme
    - elle supporte les tests sur les procédures stockées
    - L'ensemble peut être contenu dans répertoire indépendant facile à gérer
    En fait, c est la seule solution (open source) fonctionnant ainsi que j ai trouvé...

    Mais... et oui... il y a un mais... après avoir fait beaucoup d essais, j ai une erreur que je ne comprends pas... Si l'un ou l'une de vous pouviez éclairer ma lanterne, cela pourrait peut être aussi intéresser d'autres personnes...
    (j'ai mise en pièce jointe un zip du répertoire contenant les fichiers ci-dessous, j'ai vidé le répertoire SQLunit5)
    j ai la même erreur sous windows XP SP2 avec un oracle 10g (version gratuite)

    Par avance merci

    le message d'erreur:
    <failure message="net.sourceforge.sqlunit.SQLUnitException: Unresolved compilation problem: &#xa;&#x9;The constructor XMLOutputter(Format) is undefined&#xa;"/>
    la configuration:

    OS: MAC OSX 10.5
    Java: 1.5.0_20-141
    DB: MySql 5.1.31
    le driver MySql (mysql-connector-java-5.0.8-bin.jar) est dans JAVA_HOME/lib/ext

    Structure de fichiers:
    /MyTest
    L"properties" (folder)
    L"connection.properties" (files)
    L"WebTestReport.xsl" (files)
    L"results" (folder)
    L"sqlunit-5.0" (folder)
    L"tests" (folder)
    L"test01.xml" (files)
    L"build.xml"
    L"run.sh"

    Contenu du fichier "connection.properties":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #
    # properties/connection.properties
    #
    # mysql-connector-java-5.0.8-bin.jar
    sqlunit.driver = com.mysql.jdbc.Driver
    sqlunit.url = jdbc:mysql://localhost:3306/test
    sqlunit.user = user
    sqlunit.password = user
    Contenu du fichier "run.sh":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    export CLASSPATH=/testsql/sqlunit-5.0/lib/log4j-1.2.13.jar:/testsql/sqlunit-5.0/lib/junit.jar:/testsql/sqlunit-5.0/lib/jdom.jar:.
    echo $CLASSPATH
    ant run
    Contenu du fichier "build.xml":
    Code XML : 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
    <?xml version="1.0"?>
    <project name="slqlunit" basedir=".">
    <description>SQLUnit tests tasks</description>
    <!-- Sets variables which can later be used. -->
    <!-- The value of a property is accessed via ${} -->
    <property name="sql.debug" value="true" />
    <!-- This is specified once per buildfile -->
    <target name="def">
      <taskdef  name="sqlunit"
                classname="net.sourceforge.sqlunit.ant.SqlunitTask" >
        <classpath>
          <pathelement location="${basedir}\sqlunit-5.0\lib\sqlunit-5.0.jar" />
        </classpath>
      </taskdef>
    </target>
    <!-- This is repeated for each test or group of tests in case of nested filesets -->
    <target name="run" depends="def">
      <sqlunit  testfile="${basedir}\tests\test02.xml"
                haltOnFailure="false"
                debug="${sql.debug}"
                logfile="${basedir}\results\result_test01.xml"
                logformat="canoo"/>
    </target>
    <!-- reporting -->
    <target name="htmlreport">
       <delete file="${basedir}\results\result_test01.html" />
       <xslt in="${basedir}\results\result_test01.xml"
             out="${basedir}\results\result_test01.html"
             style="${basedir}\properties\WebTestReport.xsl" />
    </target>
    </project>

    Contenu du fichier "test01.xml":
    Code XML : 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
    <?xml version="1.0"?>
    <!DOCTYPE sqlunit SYSTEM "file:docs/sqlunit.dtd">
    <sqlunit>
    <connection connection-id="1" extern="C:\mytest\properties\connection.properties" />
    <!-- basic tests of SQLUnit functionality -->
    <test name="Testing DataBase access">
      <sql connection-id="1">
        <stmt>SELECT 1 as col1 FROM DUAL</stmt>
      </sql>
      <result>
        <resultset id="1">
          <row id="1">
            <col id="1" name="col1" type="INTEGER">1</col>
          </row>
        </resultset>
      </result>
    </test>
    </sqlunit>
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Implémentation d'une DAL utilisant des procédures stockées avec SQL Server
    Par youness78 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 30/10/2013, 09h32
  2. Manipulation des procédures stockées avec Netbeans
    Par proDZ dans le forum NetBeans
    Réponses: 0
    Dernier message: 13/03/2012, 14h56
  3. EFCachingProvider avec Entity Framework 4 et des procédures stockées
    Par aymeric.lagier dans le forum Entity Framework
    Réponses: 2
    Dernier message: 08/07/2010, 19h53
  4. Récupérer plusieurs lignes avec des procédures stockées
    Par GPZ{^_^} dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 12/03/2007, 13h16

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