2013-08-01 80 views
1

我是一个总新手,我正在学习迈克尔哈特尔的教程Ruby on Rails。我在第3章,关于页面的Rspec测试失败(虽然完全相同的测试对于主页和帮助页面并不失败)。简单的Rspec测试失败迈克尔哈特尔RoR Tuotiral

运行$ bundle exec rspec spec/requests/static_pages_spec.rb当我得到的错误是:

Failures: 

1) Static pages About page should have the content 'About Us'←[31mFailure/Error:←[0m ←[31mvisit 'static_pages/about'←[0m←[31mURI::InvalidURIError←[0m:←[31mthe scheme http does not accept registry part: www.example.com:80static_pages (or bad hostname?)←[0m←[36m  # ./spec/requests/static_pages_spec.rb:24:in `block (3 levels) in <top (required)>'←[0m Finished in 0.0776 seconds←[31m3 examples, 1 failure←[0m 

Failed examples: 

←[31mrspec ./spec/requests/static_pages_spec.rb:23←[0m ←[36m# Static pages About page should have the content 'About Us'←[0m 

当访问http://localhost:3000/static_pages/about页面加载,我可以在大H1字母见“关于我们”。

规格/请求/ static_pages_spec.rb:

require 'spec_helper' 

describe "Static pages" do 

    describe "Home page" do 

    it "should have the content 'Sample App'" do 
     visit '/static_pages/home' 
     expect(page).to have_content('Sample App') 
    end 
    end 

    describe "Help page" do 

    it "should have the content 'Help'" do 
     visit '/static_pages/help' 
     expect(page).to have_content('Help') 
    end 
    end 

    describe "About page" do 

    it "should have the content 'About Us'" do 
     visit 'static_pages/about' 
     expect(page).to have_content('About Us') 
    end 
    end 
end 

配置/ routes.rb中:

SampleApp::Application.routes.draw do 
    get "static_pages/home" 
    get "static_pages/help" 
    get "static_pages/about" 
end 

应用程序/控制器/ static_pages_controller.rb:

class StaticPagesController < ApplicationController 
    def home 
    end 

    def help 
    end 

    def about 
    end 
end 

应用程序/视图/ about.html.erb:

<h1>About Us</h1> 
<p> 
    The <a href="http://railstutorial.org/">Ruby on Rails Tutorial</a> 
    is a project to make a book and screencasts to teach web development 
    with <a href="http://rubyonrails.org/">Ruby on Rails</a>. This 
    is the sample application for the tutorial. 
</p> 
+0

莫非你还要添加'Gemfile'和'app/views/layouts/application.html.erb'? – Mab879

回答

12

我注意到你错过了最初的/在失败的测试:

visit 'static_pages/about' 

VS

visit '/static_pages/help' 
+0

现货,疯狂分心! –

+0

不错的一个,只是因为完全相同的原因被困在确切的地方一个半小时。 Ughh – sivanes

相关问题