【发布时间】: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