Comment puis-je utiliser mes spécifications avec la version précédente de Rspec?
-
20-08-2019 - |
Question
Je suis un tutoriel RSpec sur l’une de mes machines, dans l’espoir d’en apprendre davantage sur BDD et TDD. Ma configuration était avec Rails 2.2.2 et Rspec 1.1.12
Ce soir, j'ai décidé de continuer sur mon ordinateur principal et de transférer mon code de mon ordinateur portable vers mon ordinateur de bureau. N'ayant pas RSpec, j'ai installé la gemme. . .
sudo gem install rspec
sudo gem install rspec-rails
Conflits et calomnie! La nouvelle version de Rspec installée! 1.2.0! Et maintenant, mes tests échouent partout! Bien que je compte bien faire un suivi et apprendre la version la plus récente, je voudrais vraiment terminer ce qui reste du didacticiel sans avoir à recommencer. Je me demande. Existe-t-il un moyen d’installer et de spécifier que je souhaite exécuter mon code par rapport à l’ancienne version 1.2.12 de Rspec?
La solution
Vous pouvez désinstaller et réinstaller avec la VERSION spécifiée. Explique ici .
Autres conseils
Si vous souhaitez avoir plusieurs versions sur votre ordinateur, par exemple, si vous devriez peut-être avoir une application 2.2 rails et une application 2.3 rails, dans votre fichier environment.rb, spécifiez:
config.gem, 'rspec', :lib => 'spec', :version => '1.1.12'
et votre application utilisera cette spécification de gemme et la gem rspec-rails qui va avec. Cela vous permettra d’utiliser la gemme appropriée à chaque application.
En plus de spécifier les versions de rspec et de rspec-rails dans mon fichier environnements / test.rb, j'ai ajouté script/
devant spec
, par exemple:
script/spec spec/controllers/treasury_accounts_controller.rb
pour dépasser cette erreur:
/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