简单的Rspec测试失败来自Michael Hartl RoR Tuotiral

ser*_*o.s 1 rspec ruby-on-rails capybara

我是一个全新的人,我正在学习Ruby on Rails和Michael Hartl的教程.我在第3章,关于页面的Rspec测试失败(而完全相同的测试并没有失败的主页和帮助页面).

我在运行时遇到的错误$ 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
Run Code Online (Sandbox Code Playgroud)

当访问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
Run Code Online (Sandbox Code Playgroud)

配置/ routes.rb文件:

SampleApp::Application.routes.draw do
  get "static_pages/home"
  get "static_pages/help"
  get "static_pages/about"
end
Run Code Online (Sandbox Code Playgroud)

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

class StaticPagesController < ApplicationController
  def home
  end

  def help
  end

  def about
  end
end
Run Code Online (Sandbox Code Playgroud)

应用程序/视图/ 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>
Run Code Online (Sandbox Code Playgroud)

bga*_*tes 12

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

visit 'static_pages/about'
Run Code Online (Sandbox Code Playgroud)

VS

visit '/static_pages/help'
Run Code Online (Sandbox Code Playgroud)