Si tengo una especificación que necesita ejecutarse con diferentes valores para que conduzca una implementación real y no ingenua. Un ejemplo:¿Es posible tener especificaciones parametrizadas en RSpec?
it "should return 'fizz' for multiples of three" do
@fizzbuzz.get_value(3).should == "fizz"
end
Hasta ahora no he encontrado ninguna forma de pasar 3 en como parámetro. La siguiente especificación resuelve mi problema, pero me pregunto si es la forma recomendada de hacerlo o si hay alguna otra forma mejor.
it "should return 'fizz' for multiples of three" do
[3, 6].each{|number| @fizzbuzz.get_value(number).should == "fizz" }
end
No me gusta esta, ya que utiliza bucles, no es fácil de leer y que sólo aparece como una especificación cuando se ejecuta, yo preferiría tener que aparecen como dos pruebas diferentes.