¿Cómo se ejecuta un único archivo de prueba/especificaciones en RSpec?
Quiero poder ejecutar pruebas de un único archivo de especificaciones, por ejemplo, para el archivo que estoy editando. rake spec
ejecuta 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
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
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.
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.