Resúmenes del escenario de RSpec: múltiples casos de prueba

¿Cuál es la mejor manera de probar varios casos de prueba diferentes con RSpec?

Por ejemplo, dado string-adds.s.bb:

require 'rspec'

class String
  if method_defined? :reverse_words
    raise "String#reverse_words is already defined"
  end
  def reverse_words
    split(' ').reverse!.join(' ')
  end
end

describe String do
  describe "#reverse_words" do
    specify { "hello".reverse_words.should eq("hello") }
    specify { "hello world".reverse_words.should eq("world hello") }
    specify { "bob & pop run".reverse_words.should eq("run pop & bob") }
  end
end

cuando corrorspec string-additions.rb --color --format doc, Yo obtengo

String
  #reverse_words
    should == hello
    should == world hello
    should == run pop & bob

Sin embargo, me gustaría obtener una salida sensata, como esta:

String
  #reverse_words
    "hello" => "hello"
    "hello world" => "world hello"
    "bob & pop run" => "run pop & bob"

Y me gustaríaSEC hasta mis especificaciones un poco. ¿RSpec proporciona una plantilla para SECAR este tipo de pruebas de casos múltiples? Algo similar aEscenarios del escenario Pepino?

Nota: Esta pregunta es similar a ¿Hay un equivalente en RSpec a los "Escenarios" de Cucumber o estoy usando RSpec de manera incorrecta? pero proporciona un ejemplo que debe probarse con RSpec en lugar de con Pepino.

Respuestas a la pregunta(1)

Su respuesta a la pregunta