Ruby 1.9でもsendでプライベートメソッドを呼ぶことができる
privateメソッドをレシーバを指定して呼ぶ方法 - LukeSilvia’s diary
テスト等ではsendを使うのがお手軽でよさそうです。ちなみに、1.9では、sendメソッドでも privateメソッドにはアクセスすることはできず、代わりに「__send__」メソッドを使います。
んにゃ、sendでも__send__でも呼べるのだが。Ruby 1.9.0でも最新版でもRuby 1.8でも同じ。
sendはかぶる可能性があるので__send__が無難。
class X def hoge :private end private :hoge end RUBY_VERSION # => "1.9.0" RUBY_RELEASE_DATE # => "2008-05-25" x = X.new x.__send__ :hoge # => :private x.send :hoge # => :private
プライベートメソッドをパブリックインターフェースを使ってテストする方法 - http://rubikitch.com/に移転しました←Mochaによるプライベートメソッドのテスト技法についてもどうぞ。