3

与えられたルート:

  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

最初のテストは成功し、2 番目のテストは次のように失敗します。

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

そのテストに合格する方法を知っている人はいますか?

4

3 に答える 3

0

私がこの作業を行うことができた唯一の方法は、ルートを次のように変更することです。

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

読みやすく、テストは合格ですが、質問ルートをテストする方法はまだ疑問です...

于 2012-11-28T09:55:30.363 に答える