RSpecでHelperのテストするときのお約束

RailsのHelperのテストを書いたことが無かったので、ちょっと書いてみた。

環境は以下の通り。

テストしたかったのはApplicationHelperの内部なのでspec/helpsers/application_helper_spec.rbを作って以下のように書いた。

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe ApplicationHelper do
   #ここにテストをいくつか書いた。
end

するとApplicationHelper.rbには確かに書いてあるメソッドなんだが、見つからないとおこられる。

少し考えて、includeを付与してみた。

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
#以下の1行を追加
include(ApplicationHelper)

describe ApplicationHelper do
#テスト内容は特に変えない。
end

テストしたいHelperをincludeで明示的に呼び出してやるとテストが動作した。これは手動で書かないといけないお約束なのかな。