La integración de los scripts de hechos en JRuby, utilizando Celerity, pueden integrarse fácilmente a tareas de Ant, esto es posible generando una tarea de la siguiente forma:
<target name="script" description="Run the script rb">
<property environment="env"/>
<java classname="org.jruby.Main" fork="true" failonerror="true">
<classpath>
<fileset dir="${env.JRUBY_HOME}/lib">
<include name="*.jar"/>
</fileset>
<pathelement path="${env.JRUBY_HOME}/lib"/>
</classpath>
<jvmarg value="-Djruby.home=${env.JRUBY_HOME}"/>
<arg value="-S"/>
<arg value="script.rb"/>
</java>
</target>
Donde JRUBY_HOME es una variable del sistema que apunta al directorio en el cual esta alojado JRuby, vale aclarar que en la tarea debemos marcar que cuando falle nuestro script, el Build falle: failonerror="true".
Con estas solas lineas es posible integrar Ant + JRuby, y poder ejecutar cualquier tipo de script escrito en Ruby, para poder ejecutar test escritos en Cucumber, nuestra tarea debe ser así:
<target name="cucumber" description="Run all cucumber tests">
<property environment="env"/>
<java classname="org.jruby.Main" fork="true" failonerror="true">
<classpath>
<fileset dir="${env.JRUBY_HOME}/lib">
<include name="*.jar"/>
</fileset>
<pathelement path="${env.JRUBY_HOME}/lib"/>
</classpath>
<jvmarg value="-Djruby.home=${env.JRUBY_HOME}"/>
<arg value="-S"/>
<arg value="rake"/>
<arg value="cucumber"/>
</java>
</target>
Desde linea de comandos podemos ejecutar: ant cucumber
Y de esa forma correrían todos los test escritos en cucumber.
Comments (0)
Publicar un comentario