¿Cómo ejecuto mis especificaciones con la versión anterior de Rspec?
-
20-08-2019 - |
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?
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