2013-06-05 2 views
1

저는 첫 번째 RSpec 테스트를 작성하고 벽에 조금 달려 있습니다. 여기에 내가 가진 것이있다.역순으로 params에 대한 RSpec/Capybara 테스트가 실패했습니다.

require 'spec_helper' 

feature "submit a search request" do 

    scenario "submits a search to the correct path" do 
    visit root_path 
    within("#search-form") do 
    fill_in 'search', :with => 'mysearch' 
    end 

    click_button 'search-submit' 
    current_url.should == search_url(:utf8 => '✓', :search => 'mysearch') 

    end 
end 

매개 변수는 알파벳순으로 반환됩니다. 'u'다음에 오는 문자로 시작하는 검색의 이름을 변경하면 통과합니다. 다음은 오류 메시지입니다.

1) the map search submits a search request to the map controller 
Failure/Error: current_url.should == search_url(:utf8=> '✓', :search => 'mysearch') 
    expected: "http://www.example.com/map?search=mysearch&utf8=%E2%9C%93" 
     got: "http://www.example.com/map?utf8=%E2%9C%93&search=mysearch" 

답변

0

각 쿼리 매개 변수를 따로 비교할 수 있습니다.

는 URL에서 PARAMS을 얻을 같은 것을 수행합니다

url = "http://www.example.com/map?search=mysearch&utf8=%E2%9C%93" 
query = URI.parse(url).query # => "search=mysearch&utf8=%E2%9C%93" 
CGI::parse query    # => {"search"=>["mysearch"], "utf8"=>["✓"]} 
관련 문제