我正在开发一个示例RoR应用程序,但在使用rspec进行测试时遇到了问题。我已经安装了rspec并运行了测试,但是它们失败了,我不知道为什么。我运行以下命令:
bundle exec rspec spec/当我运行这段代码时,我得到的错误信息是:
Failures:
1) PagesController GET 'home' should be successful
Failure/Error: Unable to find matching line from backtrace
NameError:
uninitialized constant ActionController::TestCase::Assertions
# /usr/lib/ruby/vendor_ruby/action_controller/integration.rb:18
# /usr/lib/ruby/gems/1.8/gems/webrat-0.7.1/lib/webrat/integrations/rails.rb:2
# /usr/lib/ruby/gems/1.8/gems/webrat-0.7.1/lib/webrat/core/configuration.rb:105:in `mode='
# /usr/lib/ruby/gems/1.8/gems/rspec-rails-2.6.1/lib/rspec/rails/vendor/webrat.rb:26
# /usr/lib/ruby/gems/1.8/gems/webrat-还有更多的错误信息。
我不是RoR方面的专家,真的很感谢你的帮助。提前谢谢。
发布于 2011-11-01 00:16:21
RSpec只保证在Rail默认设置下开箱即用。从Gemfile中删除webrat,然后重试。
根据教程的不同,这可能会在后面的步骤中再次破坏。
我对这个问题的解决方案是删除rails的安装包(apt-get remove rails && apt-get autoremove)及其依赖项,因为它显然与gem安装冲突。这是可以理解的。您可以使用gem安装它(sudo gem install rails)
发布于 2011-12-15 01:42:26
我在新安装的Ubuntu11.10上也遇到了同样的问题。
在确保我使用的是最新版本的rspec并且rails是使用
gem install rails 我还确保卸载ubuntu rails不会留下任何
sudo apt-get autoremove我也有ruby 1.8.7,所以我切换到了1.9.2
rvm use 1.9.2 要么是我的ruby版本出了问题,要么是自动删除删除了一些干扰。但在那之后,事情就开始运转了。
https://stackoverflow.com/questions/7889679
复制相似问题