我正在寫一個修改Rails路由的插件,我想寫一個RSpec測試來驗證如果我編寫任意路由,它將被添加到Rails中。測試是在https://github.com/carpeliam/governor/blob/master/spec/action_dispatch/routing/mapper_spec.rb#L23。有問題的行是:rspec可以檢測之前(:每個)中完成的路由修改嗎?
{:get => "/articles/#{@article.id}/foos"}.should route_to(:controller => 'foos', :action => 'show', :governor_mapping => :articles)
這種失敗No route matches "/articles/1/foos"
,但(1)我只是驗證上面兩行是有一個在Rails.application.routes的articles_foos
路線,和(2)即使沒有按規範」不過,代碼在野外工作,所以我知道測試是錯誤的,或者說,我沒有正確測試它。
如何解決我的測試問題?