tutorial tests test run rails how ruby-on-rails rspec

ruby-on-rails - tests - rspec rails tutorial



No se pudo encontrar el generador ''rspec'' (13)

Intento instalar RSpec como una gema después de haberlo 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 el ruby script/generate rspec , obtengo 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.

EDITAR 12 de noviembre de 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.


¿Has instalado gemas rspec y rspec-rails?

script/generate rspec

requiere que se instale la gema rspec-rails.


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

script/generate rspec_model mymodel script/generate rspec_controller mycontroller


He tenido este problema antes, se reducía a la versión de RSpec. 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.

Empecé a usar simplemente la cabeza del maestro rspec con la versión de Rails en la que estoy, me parece estable (y no va a romper las cosas en producción, a menos que de alguna manera se rompa una prueba con un falso positivo) .

Lo hago con git usando 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



Estoy usando Rails 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 ese fue el truco.


En Fedora 9 (OLPC) lo hice:

$ sudo gem install rspec $ sudo gem install rspec-rails

Esos me llevaron a donde podría correr

$ ruby script/generate rspec

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


Tendrás que hacer

sudo gem install cucumber-rails


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

Tenía los mismos síntomas y la actualización de bundler me ayudó. Ahora $ rails g está utilizando gemas definidas en el Gemfile. También agrupé mis gemas así:

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 de prueba también están en el :development grupo de :development ).

Que tengas un buen día :)

Lukas


Para Rails 3 y rspec 2+ Debe asegurarse de incluir ''rspec'' y rspec-rails ''en su Gemfile Run Bundle Install y luego ejecutar rails g rspec: install


Si usa raíles 2.3, debe usar

ruby script / plugin install git: //github.com/dchelimsky/rspec-rails.git -r ''refs / tags / 1.3.3''

y entonces

ruby script / generate rspec


Como RSpec se ha convertido en el marco de prueba predeterminado en Rails, ya no es necesario crear documentos de especificaciones a través de los generadores de rspec:

Rails 2 generador de 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


Es posible que necesite ejecutar bundle exec:

bundle exec rails g rspec:install


Si escribe script/rails generate , el único generador de RSpec que realmente verá es rspec:install . Esto se debe a que RSpec está registrado en Rails como marco de prueba, por lo que cada vez que genere componentes de aplicaciones como modelos, controladores, etc., se generarán especificaciones de RSpec en lugar de Test::Unit de Test::Unit .

Tenga en cuenta que los generadores están ahí para ayudarlo a comenzar, pero no son un sustituto para escribir sus propios ejemplos, y solo están garantizados para funcionar de la caja para el escenario predeterminado ( ActiveRecord y Webrat ).

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