0

我正在寻找为资源丰富的路线创建 DRY shoulda 风格的匹配器:

it { should resource(:users) }
it { should resource(:articles), only: 'index' }

有没有办法确定是否通过资源路由创建了一系列路由

我考虑过的替代方法是在隔离引擎中生成预期路线以进行比较:

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
4

1 回答 1

1

您似乎不会在这里测试任何有用的东西,只是通过再次输入来验证您是否正确输入了路线。

标准路由规范匹配器会更好: https ://www.relishapp.com/rspec/rspec-rails/v/2-14/docs/routing-specs

它们允许您确保每条路线都能到达您想要的地方,即使是由resource.

于 2013-09-05T16:08:28.677 回答