【发布时间】:2023-03-12 13:57:02
【问题描述】:
我在使用 rails 应用程序中捆绑的 cucumber 和 rspec gem 时遇到问题。
这是我的Gemfile 在添加了 RSpec 支持的新 Rails 3.2.11 应用程序中的样子:
source 'https://rubygems.org'
gem 'rails', '3.2.11'
gem 'sqlite3'
gem 'jquery-rails'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
group :test do
gem 'rspec-rails'
end
运行bundle 后,Gemfile.lock 报告正在使用rspec 2.12.2(在撰写本文时是最新版本的 gem)。
但我也想用黄瓜,所以在修改Gemfile后运行bundle update如下:
group :test do
gem 'rspec-rails'
gem 'cucumber-rails'
end
令我惊讶的是,捆绑的 rspec 现在是 2.0.1 版本,绝对不酷。
事实上,这在运行规范时会导致各种错误,我花了一段时间才弄清楚它们是旧的 rspec 错误,很久以前就修复了。
我可以强制 bundler 使用最新的 gem:
group :test do
gem 'rspec-rails', '>= 2.12.0'
gem 'cucumber-rails'
end
但我不高兴,因为我不明白:
- 如果我一开始就做错了什么
- 如果我应用的修复会导致其他问题
- 如果有办法预测这种行为
有什么见解吗?
【问题讨论】:
标签: ruby-on-rails-3 rspec cucumber bundler