我需要检查301重定向。 所以我有旧网址应该重定向到新的URL。 验证它的最佳做法是什么? 现在我正在考虑简单的方法:导航到旧URL并检查新URL是否正确并显示相应的页面。我可以检查它是301重定向吗? 我找到了以下文章:http://www.natontesting.com/2010/09/06/announcing-responsalizr-test-http-response-codes-in-ruby/
但重定向后,我看到当前状态代码= 200 任何建议如何捕获301状态代码?
提前谢谢
答案 0 :(得分:0)
请勿在功能规范中执行此操作。在功能规范(黄瓜)中,您测试站点用户如何看待它,并且用户不关心状态代码是什么。如果你真的关心响应,可以在控制器或更好的请求规范中进行。使用rspec,它看起来像这样:
describe 'redirects' do
context 'on GET /old_users' do
before do
get '/old_users'
end
it 'redirects /old_users to /users' do
expect(response).to redirect_to('/users')
end
it 'responds with a 301 - Permanently moved' do
expect(response.status).to eq(301)
end
end
end
https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec