2017-06-21 78 views

回答

1

對於你的情況,你實際上是試圖從/ foobar + baz/bar + boo重定向到/附加參數。 RSpec testing redirect to URL with GET params

通常不應測試與重定向URL語法參數CUS這不是URL位置,但參數:這個職位可能相似。您可以手動提取位置並解析參數以查看它們是否是您想要的。這篇文章的第一個答案舉了一個例子。

0

您應該提出請求測試。 RSpec的有:

expect(response).to redirect_to(...) 

,但它並沒有作出斷言的PARAMS

您可以使用此一:方法

def expect_to_redirect_to_with_params(expected_url, expected_params) 
    redirect_url = response.location 
    uri = URI.parse(redirect_uri) 
    redirect_params = Rack::Utils.parse_query(uri.query) 

    expect(redirect_url).to eq(expected_uri) 
    expect(redirect_params).to eq(expected_params) 
end 

如果你願意,你可以把它到自定義matcher代替。