¿Cómo se ejecuta un único archivo de prueba/especificaciones en RSpec?

Resuelto Jonathan Tran asked hace 15 años • 15 respuestas

Quiero poder ejecutar pruebas de un único archivo de especificaciones, por ejemplo, para el archivo que estoy editando. rake specejecuta todas las especificaciones. Mi proyecto no es un proyecto Rails, entoncesrake spec:doc no funciona.

No sé si esto importa, pero aquí está mi estructura de directorios.

./archivo rastrillo
./lib
./lib/cushion.rb
./lib/cojín
./lib/cushion/doc.rb
./lib/cushion/db.rb
./Especificaciones
./spec/spec.opts
./spec/spec_helper.rb
./spec/db_spec.rb
Jonathan Tran avatar Sep 27 '08 23:09 Jonathan Tran
Aceptado

O puedes saltarte el rake y usar el comando 'rspec':

bundle exec rspec path/to/spec/file.rb

En su caso, creo que siempre que su archivo ./spec/db_spec.rb incluya los ayudantes adecuados, debería funcionar bien.

Si está utilizando una versión anterior de rspec, es:

bundle exec spec path/to/spec/file.rb
Cameron Booth avatar Sep 27 '2008 17:09 Cameron Booth

La invocación cruda:

especificación de rastrillo SPEC=spec/controllers/sessions_controller_spec.rb \
          SPEC_OPTS="-e \"debe iniciar sesión con cookie\""

Ahora descubre cómo incrustar esto en tu editor.

mislav avatar Sep 27 '2008 16:09 mislav

Esta pregunta es antigua, pero aparece en la parte superior de Google cuando se busca cómo ejecutar una sola prueba. No sé si es una incorporación reciente, pero para ejecutar una única prueba a partir de una especificación, puedes hacer lo siguiente:

rspec path/to/spec:<line number>

donde -número de línea- es un número de línea que contiene parte de su prueba. Por ejemplo, si tuvieras una especificación como:

1: 
2: it "should be awesome" do
3:   foo = 3
4:   foo.should eq(3)
5: end
6:

Digamos que está guardado en spec/models/foo_spec.rb. Entonces ejecutarías:

rspec spec/models/foo_spec.rb:2

y simplemente ejecutaría esa especificación. De hecho, ese número podría ser entre 2 y 5.

juanpaco avatar Jul 24 '2012 21:07 juanpaco