4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

Watchr aplicado: JUnit autotesting con Ant

|

Ingredientes

  1. Watchr
  2. Fichero de configuración de Watchr
  3. Tarea Ant para testear una clase con JUnit

Preparación

Instalamos Watchr en nuestro sistema (es necesario disponer de Ruby en nuestra cocina para preparar esta receta):

1
$ gem install watchr

Preparamos un fichero de configuración de Watchr (watchr.conf) y reservamos:

1
2
3
4
5
6
7
8
9
10
watch( 'src/(.*)\.java' )  do |md|
    file = "#{md[1]}Test"
    test(file) if File.exists?("test/#{file}.java")
end

watch( 'test/(.*Test)\.java' ) { |md| test(md[1]) }

def test(file)
    system("ant -Dtest=#{file.gsub("/",".")} test-file")
end

Es importante elegir los sabores adecuados de expresiones regulares para que Watchr vigile tanto el código fuente como, los ficheros de test.

Después creamos una tarea Ant que testea una clase indicada mediante párametro:

1
$ ant -Dtest=mi.paquete.MiClase test-file

Sazonamos la tarea al gusto. El chef recomienda:

1
2
3
4
5
6
7
<target name="test-file" depends="test-compile">
    <junit>
        <classpath refid="project.classpath.test"/>
        <formatter type="brief" usefile="false"/>
        <test name="${test}"/>
    </junit>
</target>

Mezclamos todo y emplatamos:

1
$ watchr watchr.conf

Algunos chefs, prefieren presentar el plato usando Ant:

1
2
3
4
5
<target name="autotest">
    <exec command="watchr">
        <arg value="watchr.conf"/>
    </exec>
</target>

Esto último es opcional, sólo para aquellos cocineros que quieran manejar todo lo relativo a su proyecto con Ant.

Lo sentimos, pero los comentarios están cerrados