我希望为资源充足的路线创建DRY shoulda风格的匹配器:
it { should resource(:users) }
it { should resource(:articles), only: 'index' }
有没有办法确定是否通过resourceful routing创建了一系列路线?
我考虑的替代方案是在隔离引擎中生成预期路线以进行比较:
class RouteTestEngine < Rails::Engine; end
RouteTestEngine.routes.draw do
resources :users
end
# A *very* rough draft of the assertion that would follow:
expect(Rails.application.routes.named_routes).to include RouteTestEngine.routes.named_routes
答案 0 :(得分:1)
您似乎不会在此处测试任何有用的内容,只是通过第二次输入来验证您是否正确输入了路线。
标准路由规范匹配器会更好: https://www.relishapp.com/rspec/rspec-rails/v/2-14/docs/routing-specs
它们允许您确保每条路线都可以到达您想要的路线,甚至是resource
生成的路线。