2008-11-07 30 views
17

Estoy tratando de instalar RSpec como una gema después de tenerlo instalado como un complemento. He seguido y seguí las instrucciones que se encuentran aquí http://github.com/dchelimsky/rspec-rails/wikis para la sección titulada rspec y rspec-rails gems. Cuando ejecuto ruby script/generate rspec, aparece el error Couldn't find 'rspec' generator. ¿Funcionan solo los complementos? Si es así, ¿por qué ofrecen las gemas para rspec y rspec-rails? Estoy ejecutando una copia congelada de Rails 2.1.2, y la versión de rpsec y rspec-rails que estoy usando es la más nueva para hoy (7 de noviembre de 2008) 1.1.11.No se pudo encontrar el generador 'rspec'

EDITAR Nov 12, 2008 Tengo las gemas rspec y rspec-rails instaladas. He desempaquetado las gemas en la carpeta vendedor/gemas. Ambos son la versión 1.1.11.

+0

más detalles sobre la configuración y lo que hizo, por favor. –

Respuesta

1

¿Se supone que hay un generador 'rspec'? Solo he usado lo siguiente:

script/generate rspec_model mymodel 
script/generate rspec_controller mycontroller 
+0

Estoy usando script/generate rspec porque ese es el siguiente paso que dice en las instrucciones en el sitio. No puedo ejecutar este script, o cualquiera de mis pruebas de rspec con esta nueva versión. – mikeweber

+0

Sí, el generador de rspec configura algunas cosas de la placa de la caldera como spec_helper.rb. – Otto

+0

En los rieles 3, "los rieles generan el controlador mycontroller" – jackr

8

¿Ha instalado tanto gemas rspec como rspec-rails?

script/generate rspec 

requiere rspec-rails gem para ser instalado.

+0

Eso lo solucionó para mí. ¡Gracias! –

1

He tenido este problema antes, se redujo a la versión de RSpec que no había trabajado con la versión de Rails que estaba usando. IIRC era un 2.1 Rails y el RSpec actualizado no había sido lanzado como una joya. De hecho, 1.1.11 es la joya que tengo, que sería la última disponible (ignorando las gemas de Github), así que estoy bastante seguro de que ese es exactamente mi problema.

Me he acostumbrado a usar la cabeza del maestro rspec con cualquier versión de Rails en la que esté, me parece estable (y no va a romper cosas en la producción, a menos que de alguna manera se haya roto una prueba con un falso positivo).

lo hago con git utilizando submódulos, por ejemplo:

git submodule add git://github.com/dchelimsky/rspec.git vendor/plugins/rspec 
git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_on_rails 
1

en Fedora 9 (OLPC) que hice:

$ sudo gem install rspec 

$ sudo gem install rspec-rails 

los que me llevó a donde podría correr

$ ruby script/generate rspec 

Esto funcionó para mí, mientras que las instrucciones de git no funcionaron.

-2

Tendrá que hacer

sudo gem install cucumber-rails 
+0

Esto no es suficiente información. ¿Por qué? – Rimian

1

En caso de que alguien se está preguntando acerca de Rails 3. Ahora, esto parece hacer el truco para mí: http://github.com/rspec/rspec-rails/blob/29817932b99fc45adaa93c3f75d503c69aafcaef/README.markdown

+0

Si está leyendo estas instrucciones en los rieles 2.x, e intenta traducir a rails 3.x, también querrá saber que, por ejemplo, "script/generate rspec_controller Users new" se ha convertido en "rails generate controller Users". nuevo "(el generador de" controlador "ha sido entrenado para hacer RSpec, si tiene eso instalado). – jackr

1

estoy usando carriles de 2.3. 9. Empecé a tratar de usar la (s) gema (s) pero no pude conseguir que apareciera el generador de rspec. Luego instalé el (los) plugin (es) usando las instrucciones en https://github.com/dchelimsky/rspec/wiki/rails y eso funcionó.

0

Si está utilizando la versión de bundler 1.0.8 debe $ gem update bundler a una versión más nueva 1.0.9.

Tenía los mismos síntomas y la actualización del paquete me ayudó. Ahora $ rails g está utilizando gemas definidas en el Gemfile.También Agrupé mis joyas como esta:

source 'http://rubygems.org' 

gem 'rails', '3.0.3' 
gem 'sqlite3-ruby', :require => 'sqlite3' 

group :test, :development do 
    gem 'capybara', '0.4.1.1' 
    gem 'database_cleaner' 
    gem 'cucumber-rails' 
    gem 'rspec-rails', '~> 2.4' 
    gem 'launchy' 
end 

(. Tenga en cuenta que las gemas del ensayo se encuentran en el grupo de :development)

tenga un buen día :)

Lukas

2

para los carriles 3 y rspec 2+ usted debe asegurarse de incluir '' rspec y rspec rieles en su Gemfile ejecutar paquete instalar a continuación, ejecutar carriles g rspec: instalar

+0

Esto funcionó para mí con rails 4 y rspec 2.13, me faltaban rspec-rails. – LisaD

10

Desde RSpec se ha convertido en el marco de pruebas por defecto en los carriles ya no es necesario para crear documentos de especificaciones a través de los generadores rspec:

raíles 2 generadores RSpec

rails generate rspec_model mymodel 

Rails 3 generador de RSpec

Con RSpec como marco de prueba predeterminado, simplemente use los propios generadores de Rails. Esto construirá todos los archivos que necesita, incluidas las pruebas RSpec. p.ej.

$rails generate model mymodel 
     invoke active_record 
     create db/migrate/20110531144454_create_mymodels.rb 
     create app/models/mymodel.rb 
     invoke rspec 
     create spec/models/mymodel_spec.rb 
+0

Entonces en 3, 'rspec_model' se cambia a 'modelo'. Gracias por el puntero! –

+2

En realidad, 'rspec_model' ahora ha cambiado a' rspec: model'. Puede usar 'carriles generar' para ver todos los otros generadores – tommasop

2

Si está utilizando rieles 2.3 Es necesario utilizar

ruby ​​script/plugin de instalar git: //github.com/dchelimsky/rspec-rails.git -R 'refs/tags/1.3. 3'

y luego

ruby ​​script/generate rspec

-1

Es posible que tenga que ejecutar bundle exec:

bundle exec rails g rspec:install 
0

Si escribe script/rails generate, la única RSpec generador en realidad se verá es rspec:install. Esto se debe a RSpec se ha registrado en rieles como el marco de prueba, por lo que siempre que se genera componentes de la aplicación como modelos, controladores, etc, RSpec especificaciones se generan en lugar de Test::Unit pruebas.

Tenga en cuenta que los generadores están ahí para ayudar a empezar, pero no son un sustituto para escribir sus propios ejemplos, y que sólo están garantizados para trabajar fuera de la caja para el escenario por defecto (ActiveRecord & Webrat).

https://github.com/rspec/rspec-rails

Cuestiones relacionadas