Với tôi có một con đường mang tên:Làm thế nào để sử dụng rspec để kiểm tra các tuyến đường được đặt tên?
map.some_route '/some_routes/:id', :controller => 'some', :action => 'other'
Làm thế nào để sử dụng định tuyến đặc tả tập tin 'đặc tả/định tuyến/some_routing_spec.rb' để kiểm tra cho rằng tuyến đường được đặt tên?
Tôi đã thử này sau khi "mô tả SomeRouteController" khối và nó không hoạt động, tôi nhận được 'phương pháp xác định 'helper':
describe SomeRouteHelper, 'some routes named routes' do
it 'should recognize some_route' do
helper.some_route_path(23).should == '/some_routes/23'
end
end
Cảm ơn, tôi đã cố gắng điều đó, chỉ muốn nghe người khác nói rằng tôi không điên, hehe ... Hóa ra tôi đã sử dụng tài nguyên lồng nhau, yêu cầu định dạng parent_child_path (23) trái ngược với child_path (23) định dạng. – btelles
Mọi thứ thay đổi nhanh chóng trong RSpec - dchelimsky gợi ý sử dụng route_to matcher: Route_to matcher xác định rằng một yêu cầu (verb + uri) có thể định tuyến được. Nó có giá trị nhất khi chỉ định các tuyến khác với các tuyến RESTful chuẩn. https://www.relishapp.com/rspec/rspec-rails/v/2-4/docs/routing-specs/route-to-matcher (xem thêm câu trả lời của Scarver cho câu hỏi này) –