这很奇怪。今天早上再次查看我的工作站,并运行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
吗?如果是这样,在更改路由(以及其他基本配置)时,您需要重新启动它,以便它接收您的更改。