【问题标题】:rspec shows fails where routes work OK - what's up? - problem gone awayrspec 在路由正常工作的地方显示失败 - 怎么了? - 问题消失了
【发布时间】:2011-06-18 00:10:30
【问题描述】:

这很奇怪。今天早上再次查看我的工作站并运行 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

我的 application.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

【问题讨论】:

  • 显示你的测试代码,因为路由很好。

标签: ruby-on-rails rspec


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2015-02-14
    • 2012-09-16
    • 2015-10-06
    相关资源
    最近更新 更多