悪徳商法?マニアックス ココログ支店

悪徳商法総合情報紹介ページ ~騙すなら、素敵にだまして~  本家「悪徳商法?マニアックス」は、こちら

« 4月16日に、金井亮太なる人物から訴えられた裁判の弁論準備期日がありました | トップページ | [rails] 非標準RESTful actionを禁止する »

2015.05.17

[rails] routes に無い controller action のテストをする方法

routes.rb に、きちんと resources :post, only: [:index, :show] のように書いていくと、controller specで「アクションが呼び出せないこと」というテストがやりにくくなってしまう。具体的には、routesに定義されていないアクションを呼び出すと、No route matches と言われてしまう。

そこで、controllerとroutes の責務を分離するためには、テストの時だけrails2の頃に使っていた「何にでもマッチするroutes(legacy wild controller route)」を定義すれば良い。

inherited resources gem とかを使っていると、余計なアクションが継承されている場合があるので、テストすることをお勧めします。

確認した環境:
rails 4.2.1
rspec 3.2.1

2015 05 17 [ruby on rails] | 固定リンク このエントリーを含むはてなブックマーク

コメント

あなたのような興味深い記事。それは私のために十分なかなりの価値があります。共有するためのおかげで

投稿者: Reflective vest (2016/02/26 17:12:46)

コメントを書く