0

我是 Ruby on Rails 的新手。我刚从 Michael Hartl ( klick ) 的 RoR 教程开始。我在 5.2.1 学习 Integration_tests。

当我运行rails generate integration_test layout_links它会生成 rspec 文件,但运行时rspec spec我得到:

You have already activated rspec-core 2.6.3, but your Gemfile requires rspec-core 2.x.x并且所有测试都失败了。

如果我玩一点,我会得到SystemStackError:stack level too deep所有测试都会失败。

可能我的 Gemset 搞砸了,或者我需要运行另一个版本的 rspec-rails。

我的 Gemfile.lock 的一部分看起来像:

rake (0.9.1)
rb-fsevent (0.4.0)
rspec (2.6.0)
  rspec-core (~> 2.6.0)
  rspec-expectations (~> 2.6.0)
  rspec-mocks (~> 2.6.0)
rspec-core (2.6.3)
rspec-expectations (2.6.0)
  diff-lcs (~> 1.1.2)
rspec-mocks (2.6.0)
rspec-rails (2.0.0.beta.18)
  rspec (>= 2.0.0.beta.14)
  webrat (>= 0.7.0)
sqlite3 (1.3.3)
thor (0.14.6)

编辑:解决。我将 rspec-rails 版本更改为 2.6.1 并将 'webrat' 添加到 :development 和 :test gem 集。奇迹般有效... :-)

4

1 回答 1

3

这通常可以通过做来解决,bundle exec rspec spec而不仅仅是rspec spec

于 2011-06-02T23:00:06.407 回答