[rspec-users] Spec-ing private method

Matt Wynne matt at mattwynne.net
Thu May 16 21:57:51 UTC 2013

On 16 May 2013, at 04:22, Andrey S. <lists at ruby-forum.com> wrote:

> Yes, I know, that testing private methods it's not a good idea (and I
> read this thread - http://www.ruby-forum.com/topic/197346 - and some
> others)
> But how can I test the following code?
> I use xmpp4r. In my public method #listen I start receive jabber
> messages like so:
> def listen
>  @client.add_message_callback do |m|
>    do_things_with_message(m)
>  end
> end
> private
> def do_things_with_message(m)
>  #
> end
> #add_message_callback - runs block, when message come
> So, testing #listen method it's difficult and it more testing xmpp4r
> than my #do_things_with_message
> How to do all right and test #do_things_with_message? :)
> (http://www.ruby-forum.com/topic/197346#859664)

What does do_things_with_message do? How would I tell, from the outside of this class, that it has been invoked, and whether it has behaved as expected?

Is there a collaborator on this class that it will send a message to?

Is there some state that it will set on this class that I can read?


http://mattwynne.net || https://twitter.com/mattwynne || http://the-cucumber-book.com || http://bddkickstart.com || http://www.relishapp.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20130516/7705c732/attachment-0001.html>

More information about the rspec-users mailing list