2012-09-02 20 views
6

Estoy usando la prueba JUnit 4 pura y las he compilado dentro de algunos archivos jar que pertenecen a la ruta de clase. Me gustaría ejecutar todas las pruebas en mi classpath.Pruebas de ejecución JUnit dentro de un JAR

¿Hay alguna manera?

Mis tareas se parece a:

<target name="test" description="All the tests"> 
    <junit fork="yes"> 
     <classpath> 
      <path refid="test.classpath" /> 
      <fileset dir="war/WEB-INF/lib/"> 
       <include name="*.jar"/> 
      </fileset> 
      <fileset dir="war/WEB-INF"/> 
      <fileset dir="war"/> 
     </classpath> 
    <formatter type="plain" usefile="false" /> 

    </junit> 
</target> 

Respuesta

5

El siguiente ejemplo asume las pruebas JUnit se nombran con el sufijo "Prueba" como "MyClassTest.java" y que el archivo jar de JUnit 4 es en un directorio de la biblioteca apuntado por la propiedad lib.dir. Para cada archivo jar que contiene pruebas compiladas, se puede usar ZipFileSet para seleccionar las clases de prueba dentro de un elemento anidado <batchtest>. La ruta al jar JUnit 4 está incluida en el classpath para asegurar que se usa la versión correcta.

<target name="test" description="All the tests."> 
    <junit fork="true"> 
    <classpath> 
     <fileset dir="war/WEB-INF/lib/" includes="**/*.jar" /> 
     <fileset dir="${lib.dir}" includes="junit*.jar" /> 
    </classpath> 
    <batchtest haltonfailure="true"> 
     <zipfileset src="war/WEB-INF/lib/test.jar" includes="**/*Test.class" /> 
    </batchtest> 
    <formatter type="plain" usefile="false" /> 
    </junit> 
</target> 
+0

está trabajando, gracias –

Cuestiones relacionadas