2012-11-28 66 views
2

鑑於路線:Rails:如何測試通過範圍定義的路由的控制器?

scope :path => 'shipping_reports', :controller => 'ShippingReports', :as => 'shipping_reports' do 
    get 'index' 
    end 

和以下試驗:

class ShippingReportsControllerTest < ActionController::TestCase 
test "routing" do 
    assert_routing '/shipping_reports/index', { :controller => "ShippingReports", :action => "index" } 
    end 

    test 'index' do 
    get :index 
    assert_response :success 
end 
end 

首先測試通過,第二次失敗:

ActionController::RoutingError: No route matches {:controller=>"shipping_reports"} 

任何人有一個想法,我怎麼能作出這樣的測試通過?

+0

我發現'索引'測試工作,如果'路由'測試被刪除。我看不出爲什麼這是我自己的問題!我會更新帖子,如果我找到原因... –

回答

0

我設法讓這項工作的唯一方法是我的路線更改爲:

controller 'shipping_reports', :path => '/shipping_reports', :as => 'shipping_reports' 

它讀取更好,測試都通過了,但我仍然不知道如何測試這個問題的路線......

+0

嗨,我遇到了完全相同的問題...你找到了你原來的問題的答案?謝謝! –

+0

不,抱歉@AL,因爲上面的回答實際上更好,我停止了尋找答案。我已經浪費了很多時間:( – gamov

+0

感謝您的更新! –

相關問題