Ruby on Rails - Rspec 显示路线工作正常的地方失败 - 怎么了?- 问题消失了



这很奇怪。今天早上再次查看我的工作站,并运行rspec-spec/来尝试获得一些示例错误输出,我的所有测试都成功了!我没有更改任何来源,我认为我在配置或设置中也没有更改任何内容(尽管我也是mac的新手,所以很多工具对我来说都有点像烟雾和镜子)。

现在我的处境是,我知道出了什么问题,但不知道是什么,我知道现在还好,但我不知道为什么。

我假设有一些进程在一夜之间或机器醒来时被终止并重新启动,并希望如果我将来出现无法解释的故障,我可以鼓励进行类似的修复。

接下来的事情现在还没有定论。。。

通过教程,我有5个简单的路线和5个测试,通过检查内容中的标题来证明返回了正确的页面。所有路由都可以通过浏览器完美工作,但rspec显示3失败。

这些是我的路线。。。

match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/signup', :to => 'users#new'  
root :to => 'pages#home'

rspec显示/contact、/about和/help都得到了根页面(错误),但/signup得到了正确的页面。/也获得主页。

我的教程书没有进一步的细节,只是希望代码示例能够工作。

网站生成的工作正常,只是测试不正常。我可以继续教程,但我不想养成忽略测试失败的习惯。

有人能建议下一步行动吗?

我的测试。。。

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

我的控制器。。。

class UsersController < ApplicationController
  def new
    @title = "Sign up"
  end
end
class PagesController < ApplicationController
  def contact
    @title = "Contact"
  end
  def home
    @title = "Home"
  end
  .
  .
end

我的应用程序.html.erb有

<title><%= @title %></title>

并且每个视图由辅助赋予其自己的标题

module ApplicationHelper
  def title
    base_title = "Ruby on Rails Tutorial Sample App"
    if @title.nil?
      base_title
    else
      "#{base_title} | #{@title}"
    end
  end
end

您正在使用spork吗?如果是这样,在更改路由(以及其他基本配置)时,您需要重新启动它,以便它接收您的更改。

最新更新