Pasar propiedades de sistema a los tasks JUnit de los scripts de NetBeans

6 02 2009

Como ya he explicado alguna vez, NetBeans utiliza scripts de Ant para realizar las diferentes tareas que lleva acabo el IDE, como compilar el proyecto, lanzar los tests, ejecutarlo, desplegarlo, etc.

NetBeans genera los scripts de manera modular de manera que el usuario pueda personalizarlo de forma adecuada. Genera el build.xml principal en la raíz del proyecto que a su vez incluye otros tantos recursos del subdirectorio de nbproject. Estos recursos son ficheros de propiedades y de scripting adicionales con la implementación real de los diferentes targets.

La idea de esta estructuración es que los ficheros con targets en el directorio nbproject (build-impl.xml, por ejemplo) nunca deberían tocarse ya que se pueden regenerar (y por tanto se perdería toda nuestra personalizacion) en función de las diferentes opciones que definamos para nuestro proyecto a través de la propia interfaz del IDE. Por contra, el build.xml principal no se regenerará y es por tanto en este fichero donde personalizaremos los scripts (añadir nuevos targets, definir propiedades, etc.).

El problema surge cuando queremos modificar el comportamiento de algunos de los targets definidos en los ficheros “intocables”. Por ejemplo, un requerimiento que puede surgir fácilmente (veremos algún ejemplo en próximos posts) es la necesidad de pasar parámetros de sistema a los tasks que ejecutan las pruebas unitarias con JUnit.

Afortunadamente el equipo de NetBeans ha previsto esta situación y la solución es bastante sencilla. Imaginemos que queremos pasar una propiedad de sistema que se llama MiPropiedad con valor MiValor, la solución pasa por definir en el build.xml una propiedad que se llame test-sys-prop.MiPropiedad y todos los taks Junit de los scripts generados automáticamente recibirán la propiedad MiPropiedad con el valor que le hayamos indicado. Si necesitáramos pasar más de una propiedad repetiríamos el mismo proceso con otro nombre de parámetro.

En código, habría que incluir el siguiente tag en el build.xml principal:

<property name="test-sys-prop.MiPropiedad" value="MiValor" />

Si queréis entender el motivo exacto y hackear los scripts de NetBeans, echadle un ojo a este post.

Anuncios

Acciones

Information

One response

7 02 2009
Cobertura con NetBeans y Hudson « Bits y Bytes

[…] ya he explicado en alguna ocasión, NetBeans usa scripts de Ant para realizar todas sus tareas y están […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: