Не удается запустить Rspec, spork, автоматическое тестирование в приложении Ruby on Rails - PullRequest
0 голосов
/ 08 февраля 2012

Я работаю над учебником Майкла Хартла по Rails и сейчас в главе 5. Однако я не могу запустить мои тесты Rspec, spark и auto. Когда я пытаюсь заставить их работать, я получаю сообщение об ошибке:

Paul-Denlingers-MacBook-Pro:sample_app_2 pdenlinger$ rspec spec/
No DRb server is running. Running in local process instead ...
/Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load': /Users/pdenlinger/rails_projects/sample_app_2/spec/controllers/pages_controller_spec.rb:14: syntax error, unexpected keyword_end, expecting $end (SyntaxError)
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:66:in `rescue in run'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:62:in `run'
    from /Users/pdenlinger/.rvm/gems/ruby-1.9.2-p0@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'

Что это значит и как я могу это исправить? Заранее спасибо!

pages_controller_spec.rb

require 'spec_helper'

describe "LayoutLinks" do


  it "should have a Home page at '/' do"
    get '/'
    response.should have_selector('title', :content => "Home")
  end

  it "should have a Contact page at '/contact' do"
    get '/contact'
    response.should have_selector('title', :content => "Contact")
  end

  it "should have a About page at '/about' do"
    get '/about'
    response.should have_selector('title', :content => "About")
  end

  it "should have a Help page at '/help' do"
    get '/help'
    response.should have_selector('title', :content => "Help")
  end
end

Ответы [ 2 ]

0 голосов
/ 08 февраля 2012

Все ваши ключевые слова do включены в описание вашего примера.Измените:

it "should have a Home page at '/' do"

на:

it "should have a Home page at '/'" do

и повторите для каждого из ваших примеров.

0 голосов
/ 08 февраля 2012

Если вы прочитаете сообщение об ошибке, похоже, что в этом файле отсутствует end:

spec/controllers/pages_controller_spec.rb

в строке 14.

<Ч />

Обновление после исправления @pdenlinger своего сообщения:

Вы заключаете ключевое слово do в кавычки, если не должны. Это должно выглядеть так:

require 'spec_helper'

describe "LayoutLinks" do
  it "should have a Home page at '/'" do
    get '/'
    response.should have_selector('title', :content => "Home")
  end

  it "should have a Contact page at '/contact'" do
    get '/contact'
    response.should have_selector('title', :content => "Contact")
  end

  it "should have a About page at '/about'" do
    get '/about'
    response.should have_selector('title', :content => "About")
  end

  it "should have a Help page at '/help'" do
    get '/help'
    response.should have_selector('title', :content => "Help")
  end
end
...