Aunque navegando por la web se pueden encontrar artículos sobre cómo usar rspec para testear código java y ya existe algún framework de bdd para java, desde hace unas semanas existe una librería que nos da las mejores herramentas de test que ruby posee para aplicarlas con nuestro código java.
JtestR es una librería que integra jruby con rspec, dust, mocha y ActiveSuport, y permite ejecutar nuestros test escritos en ruby con herramentas de automatización como Ant o Maven.
Para ejecutarlos con Ant es tan facil como incluir una nueva tarea en nuestro fichero de configuración:
<target name="test" description="Runs all tests"> <taskdef name="jtestr" classname="org.jtestr.ant.JtestRAntRunner" classpath="lib/jtestr.jar"/> <jtestr tests="test/ruby"/> </target>
Pero lo que más me gusta de este framework es poder usar rspec para testear mis clases java, un sencillo ejemplo podría ser este:
import java.util.HashMap describe HashMap, "is empty" do before :each do @map = mock(HashMap) end it "should be empty" do @map.stubs(:size).returns(0) @map.should be_empty end end
Una herramienta a tener en cuenta si, como yo, pasas el día entre código java y código ruby :-).
