如何使用以前版本的Rspec运行我的规范?

我一直在我的一台机器上学习RSpec教程,希望能够学到更多关于BDD和TDD的知识。 我的设置是使用Rails 2.2.2和Rspec 1.1.12

今晚我决定继续使用我的主机并将我的代码从便携式设备移到桌面上。 没有RSpec,我安装了gem。 。 。

sudo gem install rspec sudo gem install rspec-rails 

纷争和诽谤! 安装了新版Rspec! 1.2.0! 而现在我的测试都失败了! 虽然我完全打算跟进并学习最新版本,但我真的想完成本教程的内容,而不必重新开始。 我想知道。 有没有办法安装并指定我想针对之前的Rspec,1.2.12运行我的代码?

您可以使用指定的VERSION卸载并重新安装。 这里解释一下 。

如果你想在你的计算机上安装多个版本,那么如果你应该有一个2.2 rails应用程序和一个2.3 rails应用程序,那么在你的environment.rb文件中指定:

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

并且您的应用程序将使用该gem规范和与之配合的rspec-rails gem。 这将使您能够为每个应用程序使用适当的gem。

除了在我的environment / test.rb文件中指定rspec和rspec-rails版本之外,我还在spec前面添加了script/ ,例如:

 script/spec spec/controllers/treasury_accounts_controller.rb 

过了这个错误:

 /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