2012-01-15 109 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'