I'm actually looking to mock "my_helper_method" here. Or to be more general any method that is created outside of a class.
On Mar 25, 6:27 am, "J. B. Rainsberger" <jbrainsber...@gmail.com> wrote: > garren wrote: > > I'm very new to ruby and mocking a dynamic language. I would like to > > mock a helper method in Sinatra. So an example is this: > > > helper do > > def my_helper_method > > puts "Should do something useful here..." > > end > > end > > > How would I mock that method and how would I mock a method in general > > that is a global method. Is it better practice not to have global > > methods? Should I rather have an object inside the method call that > > does all the work and I can mock that? > > You can probably set an expectation on Kernel#puts, since although #puts > looks global, it belongs to Kernel. > > As for whether you should use #puts directly here, or indirectly through > another object that you can easily control, that depends on the > situation. Try both and compare the results. > > In your situation, I'd probably just set expectations on Kernel#puts > until that caused me problems, at which point I'd separate the behavior > of deciding what to print from deciding where to print it. I find > formatting messages much easier to check, in general, than displaying them. > > Have fun. > -- > J. B. Rainsberger ::http://www.jbrains.ca::http://www.thecodewhisperer.com > _______________________________________________ > rspec-users mailing list > rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users