2011-04-28 51 views
0

我正在寫一個修改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)即使沒有按規範」不過,代碼在野外工作,所以我知道測試是錯誤的,或者說,我沒有正確測試它。

如何解決我的測試問題?

回答

0

實際上,我在RailsConf上與David Chelimsky談過此事,我們將問題追溯到Rack :: Test。然後大衛跟Yehuda Katz說話,看看我們正在經歷什麼,或者是一個錯誤,事實證明,Rack :: Test並不是爲這種事情而構建的。總而言之,RailsConf是獲得與代碼最親密的人員回答的問題的絕佳機會。感謝大衛和耶胡達。

相關問題