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

ANT Java Discussion :

[ANT][JUnit] Reporting et résultats de tests: tâche junitreport


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Par défaut [ANT][JUnit] Reporting et résultats de tests: tâche junitreport
    Bonjour à tous,

    je suis embêté avec la tâche junitreport et ne parviens pas à obtenir un fichier de rapport .html complet.

    Je procède via ANT à l'exécution d'un test écrit sous Java et basé sur le framework JUnit (v.3.8.1 fourni avec Eclipse SDK). Mon test s'exécute avec succès mais j'aimerais pouvoir sauvegarder un rapport lisible et complet.

    Voici comment je définis mon buildfile pour celà:

    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
    <target name="LaunchTest">
    
    <junit printsummary="on">
    <formatter type="xml"/>
    	<classpath>
    		<path refid="base.path"/>
    	</classpath>
    	<test name="testfile.CSRLayAway" />
    </junit>
    
    <junitreport todir="${report}">
      <fileset dir="${report}">
        <include name="TEST-*.xml"/>
      </fileset>
      <report format="noframes" styledir="./etc" todir="${htmlreport}"/>
    </junitreport>
    
    </target>
    Donc ANT va chercher le juni-noframe.js qui se trouve dans le repertoire ANT/etc, comme renseigné par la propriété report.

    Tous les fichiers (.xml et .html) sont bien sauvegardés. Le soucis c'est que le tableau de reporting du fichier junit-noframes.htlml créé en guise de Unit Test Results ne contient aucune entrée. J'ai une ligne disant Tests:0 , Failures:0, Errors:0, ...

    Ce qui n'est pas normal bien entendu!


    Note:
    Celà doit sûrement avoir un rapport, mais le fichier C:\data\ANT\report\TESTS-TestSuites.xml est très dénué:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      <?xml version="1.0" encoding="UTF-8" ?> 
      <testsuites />

    Question:
    Comment faire pour avoir un rapport complet de mon test, ligne par ligne, des étapes jouées? Est-ce qu'il faut faire appel à une méthode particulière de JUnit dans mon code pour indiquer que telle action doit produire une ligne dans le rapport?

    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    Voici ma cible ANT qui fonctionne bien pour moi !

    sinon je pense que cela peut venir de <junit haltonerror="yes" haltonfailure="yes" printsummary="on"> à rajouter dans ta cible

    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
        <target name="run-junit-tests" description="Execute tous les tests JUnit">
        <junit haltonerror="yes" haltonfailure="yes" printsummary="on">
              <classpath>
                  <pathelement path="${class}"/>
                </classpath>
              <batchtest todir="${prod}">
                <formatter type="xml" usefile="true" />
                <fileset dir="${src-tests}">
                    <include name="**/*Test.java"/>
                  </fileset>
            </batchtest>
          </junit>
     
          <mkdir dir="${prod}/junit-report"/>
          <junitreport todir="${prod}/junit-report">
            <fileset dir="${prod}">
              <include name="TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="${prod}/junit-report"/>
          </junitreport>
     
          <delete>
            <fileset dir="${prod}">
                <include name="TEST-*.xml"/>
            </fileset>
          </delete>
      </target>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Par défaut
    Attend j'ai du mal à voir ce que je vois

    tu lances tes tests junit à partir de fichier .java non compilés?
    Ce n'est pas un fichier .class qui doit être lancé via junit?!

    Etrange.
    Je testerai ton buildfile en opérant ququs modifications.


    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    Est ce que ca marche pour toi finalement?
    Je suis confronté à la même chose et bloqué même , mon rapport est vide!

    Merci

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Par défaut
    @ninox_

    Soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <batchtest todir="${report.test.dir}" >
      <fileset dir="${source.test.dir}">
         <include name="**/**Test.java"/>
     </fileset>	
    </batchtest>
    Soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <batchtest todir="${report.test.dir}" >
       <fileset dir="${build.test.dir}">
    	<include name="**/**Test.class"/>
        </fileset>	
    </batchtest>

    Extrait de la documentation officielle
    batchtest collects the included resources from any number of nested Resource Collections. It then generates a test class name for each resource that ends in .java or .class.

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    j'ai essayé vraieme,nt et c'est toujours pareil !!

    je em permets de poster ici le contenu de mon projet puet être que ca peut aider a resouidre le soucis !

    Alors voila en details le contenu de mon projet "junitTest" afin que ca puisse aider à resoudre mon probleme:

    arborescence projet:

    junitTest

    src:
    com/mybusiness/action:
    Processor.java
    com/mybusiness/test:
    ProcessorTest.java
    AllTests.java ( suite de tests)

    lib :
    ant-junit-1.7.0.jar
    junit-4.5.jar

    build.xml

    voiçi le contenu de mon build.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="junitTest" default="junit-report" basedir=".">
    <description> simple example build file </description>
    <!-- set global properties for this build -->
    <property name="src.dir" location="${basedir}/src"/>
    <property name="classes.dir" location="${basedir}/classes"/>
    <property name="junit.reports.dir" location="${basedir}/junit"/>
    <property name="junit.includes" value="${src.dir}/**/*Test.java"/>
    <property name="junit.excludes" value="${src.dir}/**/AllTests.java"/>
     
    <target name="init">
     <!-- Create the time stamp -->
     <tstamp/>
     <!-- Create the build directory structure used by compile -->
     <mkdir dir="${classes.dir}"/>
     <mkdir dir="${junit.reports.dir}/xml"/>
     </target>
     
     <target name="compile" depends="init"  description="compile the source " >
      <!-- Compile the java code from ${src} into ${build} -->
       <javac srcdir="${src.dir}" destdir="${classes.dir}">
     	 <classpath>
     	    <pathelement path="lib/junit-4.5.jar"/>
     	  </classpath>
       	</javac>
     </target>
     
    <target name="test" depends="compile" description="runs all junit test cases" >
     <!-- Runs .class files from ${build} -->
        <junit showoutput="yes"  printsummary="on" haltonerror="no"  haltonfailure="no">
       <classpath>
        <pathelement path="lib/junit-4.5.jar"/>
         <pathelement location="${classes.dir}"/>
       </classpath>
       <batchtest  todir="${junit.reports.dir}/xml">
         <formatter type="xml"/>
       	<fileset dir="${src.dir}">
       	 <include name="${junit.includes}"/> 
       	</fileset>
       </batchtest>    	
     </junit>
     </target>
     
     <target name="junit-report" depends="test" description="Generates JUnit HTML report" >
      	<junitreport todir="${junit.reports.dir}/xml">
             <fileset dir="${junit.reports.dir}/xml">
                 <include name="*Test-*.xml"/>
             </fileset>
           <report format="frames" todir="${junit.reports.dir}"/>
           	<!-- <report format="noframes" styledir="xslt"/> -->       	
            </junitreport>
        </target>
     
    	 <target name="clean" description="clean up" >
         <!-- Delete the ${build} and ${dist} directory trees -->
    	 <delete dir="${classes.dir}"/>
         <delete dir="${junit.reports.dir}"/>
         </target>
     </project>

    les tests sont bien ecrits et ca marche bien !

    Donc voila , je crosi tout y est ! vous allez vous rendre compte de l'output generer qui est vide! et je compte sincerement sur votre aide pour me sortir de la !

    encore merci à tous!

Discussions similaires

  1. [JUnit] Rapport de tests d'un test paramétré avec junit-report
    Par polymorphisme dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 02/05/2014, 11h26
  2. [MStest] Résultat des tests unitaires dans le XML
    Par loic_86 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 08/03/2007, 14h32
  3. [EJBQL] [EJB3] [Junit] Récupération des résultats d'un select
    Par nramariavelo dans le forum Java EE
    Réponses: 1
    Dernier message: 04/10/2006, 16h22
  4. [Lancement junit + report FAIL]
    Par xarius dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/05/2006, 20h29
  5. [Ant] Eclipse + Ant + Junit
    Par Sylmandel dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/03/2006, 13h26

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