当我使用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
答案 0 :(得分:0)
这是Webrat在使用RSpec 2.0.0beta18时引起的问题。
有两种方法可以解决问题:
通过使用以下内容编辑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
。
另一种方法是简单地使用新版本的rspec,它显然已经解决了这个问题。使用以下代码编辑Gemfile:
group :development do
gem 'rspec-rails'
end
group :test do
gem 'rspec'
end
将从rubygems.org
(目前为2.6.0)安装最新版本的R-Spec。