Pregunta

He estado siguiendo un tutorial de RSpec en una de mis máquinas, con la esperanza de aprender más sobre BDD y TDD. Mi configuración fue con Rails 2.2.2 y Rspec 1.1.12

Esta noche decidí continuar en mi máquina principal y moví mi código de mi portátil a mi escritorio. Al no tener RSpec, instalé la gema. . .

sudo gem install rspec
sudo gem install rspec-rails

¡Lucha y calumnia! La nueva versión de Rspec instalada! 1.2.0! ¡Y ahora mis pruebas están fallando por todas partes! Si bien tengo la intención de seguir y aprender la versión más actualizada, realmente me gustaría completar lo que queda del tutorial sin tener que comenzar de nuevo. Me pregunto. ¿Hay alguna forma de instalar y especificar que me gustaría ejecutar mi código contra el Rspec anterior, 1.2.12?

¿Fue útil?

Solución

Puede desinstalar y reinstalar con la VERSIÓN especificada. Explicó aquí .

Otros consejos

Si desea tener más de una versión en su computadora, si tal vez debería tener una aplicación de 2.2 rieles y una de 2.3 rieles, especifique en su archivo environment.rb:

config.gem, 'rspec', :lib => 'spec', :version => '1.1.12'

y su aplicación utilizará esa especificación de gema y la gema rspec-rails que la acompaña. Esto te permitirá usar la gema apropiada para cada aplicación.

Además de especificar las versiones rspec y rspec-rails en mi entorno / archivo test.rb, agregué script/ delante de spec, por ejemplo:

script/spec spec/controllers/treasury_accounts_controller.rb

para superar este error:

/opt/ror/ruby-ee-1.8.7-2011-03/lib/ruby/site_ruby/1.8/rubygems.rb:335:in `bin_path': can't find executable spec for rspec-2.1.0 (Gem::Exception)
    from /opt/ror/ruby/bin/spec:19
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top