2012-04-15 15 views
14

El problema: Las pruebas son (aparentemente) no ejecutadoAnt, correr todo jUnit prueba

Paso 1: Recopilar fuente a bin

<target name="compile" depends="init" description="compile the source "> 
    <javac srcdir="${src}" destdir="${build}" includeantruntime="true" nowarn="yes" debug="true" /> 
    <javac srcdir="${src}" destdir="${bin}" includeantruntime="true" nowarn="yes" debug="true" /> 
</target> 

Paso 2: Recopilar pruebas para bin

<target name="compileTest" depends="compile" description="compile jUnit Test cases "> 
    <javac srcdir="${test-dir}" destdir="${bin}" includeantruntime="true" nowarn="yes" debug="true" /> 
</target> 

Paso 3: Busque Test.class (es) y ejecútelos

<target name="test" depends="compileTest"> 
     <junit> 
      <formatter type="plain" usefile="false" /> 
      <formatter type="plain" /> 
      <batchtest> 
       <fileset dir="${bin}" includes="**/Test*.class" /> 
      </batchtest> 
     </junit> 
    </target> 

Salida:

Buildfile: /Users/xx/Documents/repositories/app/build.xml 
clean: 
    [delete] Deleting directory /Users/xx/Documents/repositories/app/build 
    [delete] Deleting directory /Users/xx/Documents/repositories/app/bin 
init: 
    [mkdir] Created dir: /Users/xx/Documents/repositories/app/build 
    [mkdir] Created dir: /Users/xx/Documents/repositories/app/bin 
compile: 
    [javac] Compiling 145 source files to /Users/xx/Documents/repositories/app/build 
    [javac] Compiling 145 source files to /Users/xx/Documents/repositories/app/bin 
compileTest: 
    [javac] Compiling 24 source files to /Users/xx/Documents/repositories/app/bin 
test: 
dist: 
    [delete] Deleting: /Users/xx/Documents/repositories/app/dist/app.jar 
     [jar] Building jar: /Users/xx/Documents/repositories/app/dist/app.jar 
    [copy] Copying 1 file to /Users/xx/Documents/repositories/app/dist 
    [delete] Deleting: /Users/xx/Documents/repositories/app/dist/app.war 
     [war] Building war: /Users/xx/Documents/repositories/app/dist/app.war 
    [copy] Copying 1 file to /Users/xx/Documents/repositories/app/dist 
BUILD SUCCESSFUL 
Total time: 5 seconds 

Qué me estoy perdiendo por favor?

Respuesta

22

Creo que se puede utilizar en el interior batchtestjunit tarea:

<target name="test" depends="compileTest"> 
    <junit> 
    <classpath> 
     <pathelement location="bin" />  
     <pathelement location="lib/junit-4.10.jar"/> 
    </classpath>  
    <batchtest> 
     <fileset dir="${test}"> 
      <include name="**/*Test*" /> 
     </fileset> 
    </batchtest> 
    <formatter type="brief" usefile="false"/> 
    </junit> 
</target> 

Nota lo siguiente:

  • En fileset dir="${test}" debe apuntar al directorio de origen para las pruebas.
  • En include name="**/*Test*" debe no especificar .class extensión; debe ser .java o nada.
  • Necesita agregar el directorio de salida de prueba como un "classpath" para el elemento de tarea junit.

Tuve una prueba con un proyecto simple y con la misma configuración obtuve los resultados breves. Utilicé Apache Ant 1.7.1.

+0

Parece que esto solo ejecuta pruebas del primer paquete en test-src. Además, ¿hay alguna forma de reducir el informe a algo así como "Pruebas Ran 500, 0 errores 0 errores"? – JAM

+0

Aún así, no aparece ningún resumen – JAM

+0

Actualicé mi pregunta para incluir todo el guión de ANT – JAM

1

Use "batchtest" como esto:

<batchtest> 
    <fileset dir="${tst-dir}" includes="**/Test*.class" /> 
    </batchtest> 

Ejemplo presente sobre here.

EDIT:

Para ver la impresión Resumen ant junit task does not report detail y this

Tenga en cuenta que ya no necesita los atributos printsummary="yes" y showoutput="true" en la tarea de JUnit. El formateador se está ocupando de la salida ahora.

<target name="test" depends="compileTest"> 
    <junit> 
     <formatter type="plain" usefile="false" /> <!-- to screen --> 
     <formatter type="plain" /> <!-- to file --> 

     <batchtest> 
      <fileset dir="${bin}" includes="**/Test*.class" /> 
     </batchtest> 
    </junit> 
</target> 
+0

Añadir dentro de la etiqueta junit antes de la etiqueta batchtest –

+0

@JAM ver EDITAR arriba de –

+0

Derecha. Sí tuve eso :) – JAM

Cuestiones relacionadas