Railsのテストフレームワークには、Mockを利用する仕組みがあります。 しかし、通常の方法でMockクラスを作成すると、オリジナルのクラスを 完全に置き換えてしまうため、すべての実装をテスト用に 書き直さなければならなくなってしまいます。
そこで、テスト用に改変したい場所だけMockで上書きし、その他の 動作はオリジナルに委譲する方法を紹介します。
1 require_dependency 'models/foo ' 2 3 class Foo 4 def bar 5 puts 'baz' 6 end 7 end
上記のように、require_de
を使ってapp
ディレクトリ以下のファイルを参照することで、Foo
クラスのbar
メソッドの挙動だけを置き換えることができるようになります。
posted by
genki
on Fri 1 Feb 2008
at 12:16