Ruby 如何将RSpec设置为早期版本?

Ruby 如何将RSpec设置为早期版本?,ruby,rspec,Ruby,Rspec,有没有一种方法可以在不卸载默认版本的情况下使用早期版本的RSpec?如果不是,替换当前版本的最安全方法是什么?中链接的卸载/重新安装说明似乎已不存在 我正在尝试学习使用RSpec进行测试,我发现的所有教程似乎都早于3.0。在使用旧的期望语法时,我总是会收到不推荐警告(如果幸运的话)或错误。我在很大程度上依赖于如何让自己明白过来,但我花在更新教程示例中的语法上的时间使我无法专注于课程的实质内容 我链接到的同一个答案在Rails的environment.rb文件中提到了一个配置选项,但我在本教程中没

有没有一种方法可以在不卸载默认版本的情况下使用早期版本的RSpec?如果不是,替换当前版本的最安全方法是什么?中链接的卸载/重新安装说明似乎已不存在

我正在尝试学习使用RSpec进行测试,我发现的所有教程似乎都早于3.0。在使用旧的期望语法时,我总是会收到不推荐警告(如果幸运的话)或错误。我在很大程度上依赖于如何让自己明白过来,但我花在更新教程示例中的语法上的时间使我无法专注于课程的实质内容

我链接到的同一个答案在Rails的environment.rb文件中提到了一个配置选项,但我在本教程中没有使用Rails,只使用Ruby和(最终)Sinatra。我想知道是否可以将该文件添加到项目文件夹中

我确实添加了一个带有RSPEC2.1的GEM文件:

source 'https://rubygems.org'

gem 'rspec', '~> 2.10.0'
gem 'guard'
gem 'guard-rspec'
gem 'terminal-notifier'
gem 'terminal-notifier-guard'

运行
bundle install
后安装的2.1,但在运行
bundle exec init
并使用旧语法运行我的规范后,我仍然会收到相同的弃用警告和错误。

您的规范是如何运行的<代码>bundle exec rspec spec应足够。
bundle exec rspec--version
的输出是什么?您可以发布不适合您的教程链接吗?大多数问题都是由于在较新版本中将
should
替换为
expect
。您可以通过在spec/spec_helper.rb中设置
expectations.syntax=:should
来告诉RSpec使用
should
,这应该可以使大多数旧示例在当前版本中正常工作。@Dave:我不熟悉运行规范的
bundle exec RSpec spec
方法。这确实奏效了——即使没有添加
--版本
,我也不会收到反对警告或错误。在我使用rspec
rspec
@joelparkerhenderson运行规范之前,我只上了几门Tuts+课程。我目前正在完成,我刚刚完成,它使用TDD开发了一个游戏项目。几个月前,我在Lynda.com上做了一个TDD简介课程,但它使用了一些基于Java的NUnit框架。