Rspec为什么说“失败/错误:无法从回溯中找到匹配的行"? [英] Why is Rspec saying "Failure/Error: Unable to find matching line from backtrace"?

查看:99
本文介绍了Rspec为什么说“失败/错误:无法从回溯中找到匹配的行"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里关注rails教程: http://railstutorial.org/chapters/filling-in-the-layout#top

I'm following the rails tutorial here: http://railstutorial.org/chapters/filling-in-the-layout#top

当我运行"rspec spec/"时,出现了一系列错误,如下所示:

When I run "rspec spec/", I get a bunch of errors that look like this:

1) LayoutLinks should have a Home page at '/'
    Failure/Error: Unable to find matching line from backtrace
    stack level too deep
    # C:/Ruby19/lib/ruby/1.9.1/forwardable.rb:185

2) LayoutLinks should have a Contact page at '/contact'
    Failure/Error: Unable to find matching line from backtrace
    stack level too deep
    # C:/Ruby19/lib/ruby/1.9.1/forwardable.rb:185

但是,当我在Web浏览器中转到localhost:3000/和localhost:3000/contact时,页面在那里,并且正确的标题在那里.这是我的myrailsroot \ spec \ requests \ layout_links_spec.rb文件:

But when I go in my web browser to localhost:3000/ and localhost:3000/contact, the pages are there and the correct titles are there. Here is my myrailsroot\spec\requests\layout_links_spec.rb file:

require 'spec_helper'

describe "LayoutLinks" do

  it "should have a Home page at '/'" do
    get '/'
    response.should have_selector('title', :content => "Home")
  end

  it "should have a Contact page at '/contact'" do
    get '/contact'
    response.should have_selector('title', :content => "Contact")
  end

  it "should have an About page at '/about'" do
    get '/about'
    response.should have_selector('title', :content => "About")
  end

  it "should have a Help page at '/help'" do
    get '/help'
    response.should have_selector('title', :content => "Help")
  end

  it "should have a signup page at '/signup'" do
    get '/signup'
    response.should have_selector('title', :content => "Sign up")
  end

end

任何想法都很棒,谢谢

推荐答案

这是由于RSpec 2.0.0.beta.19中的错误所致.如果您按照本教程的建议使用2.0.0.beta.18,它将可以正常工作.只需将Gemfile中的任何版本更改为beta 18,捆绑安装并再次运行测试即可.

This is due to a bug in RSpec 2.0.0.beta.19. If you use 2.0.0.beta.18 as the tutorial suggests, it will work fine. Just change whatever version you have in your Gemfile to beta 18, bundle install and run the tests again.

这是我的Gemfile中的相关部分.

Here's the relevant parts from my Gemfile.

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

group :test do
  gem 'rspec-rails', '2.0.0.beta.18'
  gem 'spork', '0.8.4'
end

还请注意,Spork还会不时引起诸如此类的问题.如果遇到莫名其妙的测试失败,特别是如果您刚刚添加了新的控制器或操作,请立即采取行动.按Ctrl-C并再次运行spork服务器.

Also note that Spork can also cause problems like this from time to time. If you get inexplicable test failures, especially if you just added new controllers or actions, go give spork a kick. Hit Ctrl-C and run the spork server again.

这篇关于Rspec为什么说“失败/错误:无法从回溯中找到匹配的行"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆