From: Eric Hodel Date: 2005-10-27T04:15:37+09:00 Subject: Re: Newbie: Unit testing a private method with arguments On Oct 26, 2005, at 12:12 PM, Marcus Lindemann wrote: > Hi, > I'm somewhat new to ruby. and I want to unit test my methods. Since > I compose my public methods from private ones, I start writing and > also test those first. From the web I found that testing of private > methods is possible through > > class Foo > def foobar > bar > end > > private > def bar # <-- takes no params > "bar" > end > > def bla(aName) > aName > end > end > > x = Foo.new > x.send(:bar) > > However, when applying this to method bla, I don't have any idea on > how to pass any argument to bla. Can someone help me here? An easier way to do it is: private unless $TESTING But, send takes 1 or more arguments: x.send :bla, 'Marcus Lindemann' (And passes blocks along as well.) -- Eric Hodel - drbrain@segment7.net - http://segment7.net FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04