Michael Hartl撰写的“Ruby on Rails3 Tutorial Live Lesson#5”的问题

时间:2011-06-29 01:37:31

标签: ruby-on-rails

当我使用spec编写集成测试时,例如应该在'/'上有一个主页,我总是失败,我不知道这是不是我的Rails版本是3.0.0.9。

输出如下,有人请帮帮我。

1)LayoutLinks的主页应该是'/'     失败/错误:无法从回溯中找到匹配的行     堆栈级别太深     #/Users/xiongzhend/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/forwardable.rb:185

2)LayoutLinks应该在'/ contact'有一个联系页面     失败/错误:无法从回溯中找到匹配的行     堆栈级别太深     #/Users/xiongzhend/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/forwardable.rb:185

3)LayoutLinks应该有一个关于'/ about'的页面     失败/错误:无法从回溯中找到匹配的行     堆栈级别太深     #/Users/xiongzhend/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/forwardable.rb:185

4)LayoutLinks应该在'/ help'有一个帮助页面     失败/错误:无法从回溯中找到匹配的行     堆栈级别太深     #/Users/xiongzhend/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/forwardable.rb:185

5)LayoutLinks应该在'/ signup'上有一个注册页面     失败/错误:无法从回溯中找到匹配的行     堆栈级别太深     #/Users/xiongzhend/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/forwardable.rb:185

1 个答案:

答案 0 :(得分:0)

这是Webrat在使用RSpec 2.0.0beta18时引起的问题。

有两种方法可以解决问题:

  1. 通过使用以下内容编辑Gemfile目录中的sample_app,将Webrat降级到0.7.1版:

    group :development do
    gem 'rspec-rails', '2.0.0.beta.18'
    gem 'webrat', '0.7.1'
    end
    
    group :test do
    gem 'rspec', '2.0.0.beta.18'
    gem 'webrat', '0.7.1'
    end
    

    然后进入您最喜欢的终端并输入以下命令bundle update webrat

  2. 另一种方法是简单地使用新版本的rspec,它显然已经解决了这个问题。使用以下代码编辑Gemfile:

    group :development do
    gem 'rspec-rails'
    end
    
    group :test do
    gem 'rspec'
    end
    

    将从rubygems.org(目前为2.6.0)安装最新版本的R-Spec。