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?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top