Come eseguo le mie specifiche con la versione precedente di Rspec?
-
20-08-2019 - |
Domanda
Ho seguito un tutorial di RSpec su una delle mie macchine, nella speranza di saperne di più su BDD e TDD. La mia configurazione era con Rails 2.2.2 e Rspec 1.1.12
Stasera ho deciso di continuare sul mio computer principale e ho spostato il mio codice dal portatile al desktop. Non avendo RSpec, ho installato la gemma. . .
sudo gem install rspec
sudo gem install rspec-rails
Strife and Calumny! La nuova versione di Rspec installata! 1.2.0! E ora i miei test stanno fallendo dappertutto! Mentre intendo pienamente seguire e apprendere la versione più aggiornata, vorrei davvero completare ciò che resta del tutorial senza dover ricominciare da capo. Mi chiedo. C'è un modo per installare e specificare che vorrei eseguire il mio codice con il precedente Rspec, 1.2.12?
Soluzione
È possibile disinstallare e reinstallare con la VERSIONE specificata. Spiegato qui .
Altri suggerimenti
Se vuoi avere più di una versione sul tuo computer, se forse dovresti avere un'app 2.2 rails e un'app 2.3 rails allora nel tuo file environment.rb specifica:
config.gem, 'rspec', :lib => 'spec', :version => '1.1.12'
e l'applicazione utilizzerà quella specifica gemma e la gemma rspec-rails che ne consegue. Ciò ti consentirà di utilizzare la gemma appropriata per ogni applicazione.
Oltre a specificare le versioni rspec e rspec-rails nel mio file environment / test.rb, ho aggiunto script/
davanti a spec
, ad esempio:
script/spec spec/controllers/treasury_accounts_controller.rb
per superare questo errore:
/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