Railsのテストフレームワークには、Mockを利用する仕組みがあります。
しかし、通常の方法でMockクラスを作成すると、オリジナルのクラスを
完全に置き換えてしまうため、すべての実装をテスト用に
書き直さなければならなくなってしまいます。

そこで、テスト用に改変したい場所だけMockで上書きし、その他の
動作はオリジナルに委譲する方法を紹介します。

rails>>
require_dependency 'models/foo'

class Foo
def bar
puts 'baz'
end
end
<<--

上記のように、require_dependencyを使ってapp
ディレクトリ以下のファイルを参照することで、Fooクラスのbar
メソッドの挙動だけを置き換えることができるようになります。

posted by genki genki on Fri 1 Feb 2008 at 13:24 with 0 comments