2012-01-15 115 views
0

我正在通過Hartl的RoR教程,現在進入集成測試部分。按照指示我修改.autotest有:自動測試未能測試集成測試

require 'autotest/growl' 
require 'autotest/fsevent' 
require "autotest/restart" 

Autotest.add_hook :initialize do |autotest| 
    autotest.add_mapping(/^spec\/requests\/.*_spec\.rb$/) do 
    autotest.files_matching(/^spec\/requests\/.*_spec\.rb$/) 
    end 
end 

我的設置:

Z-Kidds-MacBook-Air:sample_app zkidd$ ruby -v 
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0] 
Z-Kidds-MacBook-Air:sample_app zkidd$ rails -v 
Rails 3.1.3 

我的錯誤讀出的是這樣的:

/Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -rrubygems -S /Users/zkidd/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/zkidd/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb' '/Users/zkidd/rails_projects/sample_app/spec/requests/layout_links_spec.rb' 
Exception encountered: #<SyntaxError: /Users/zkidd/rails_projects/sample_app/spec/requests/layout_links_spec.rb:7: syntax error, unexpected ':', expecting ')' 
    response.should have_selector('title,' :content => 'Home') 
              ^
/Users/zkidd/rails_projects/sample_app/spec/requests/layout_links_spec.rb:7: syntax error, unexpected ')', expecting keyword_end> 
backtrace: . . . . 

我看到錯誤有那麼一點胡蘿蔔根據:內容說autotest期待「)」而不是冒號。但教程的具體內容正是我寫的。這裏是layout_links_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 an About page at '/about'" do 
    get '/contact' 
    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 

回答

1

在您發佈的代碼,所有的線條狀

response.should have_selector('title,' :content => 'Home') 

應該

response.should have_selector('title', :content => 'Home') 

(逗號是字符串外)

對於最後的測試,它也是'title'而不是'/title'