「Everyday Rails - RSpecによるRailsテスト入門」を読んでRSpecが楽しくなってきたところで、この本に書かれていないけど「こんなのもテストしたい!」という場合にどうすればいいか調べてみた。 Rails4では、共通機能を定義したモジュールをconcernsに置くことができる。目的はDRYであったり、Fat Controller, Fat Modelを避けるため(だと思う)。Rails3以前はバラバラの方法で行われていたけど、オフィシャルの規約ができた(のだと思う)。 そこで、concerns下に定義したモジュールのテストをRSpecで書く方法を検討してみた。 いくつか方法があり、例えば、リア充爆発日記で紹介されていたりする。個人的にはStack Overflowで紹介されている方法が好みだったので、最小限のコードでまとめてみた。 テスト対象のコード