On 14 Oct 2009, at 22:33, Matt Wynne wrote:


On 14 Oct 2009, at 20:49, Scott Taylor wrote:

On Oct 14, 2009, at 3:36 PM, Joaquin Rivera Padron wrote:

hello there,
how do you tipically spec private methods? The thing is Ï have something like this:

You have a few options:

1. Make the method public in the object you are testing
2. Make the method public in the test case
3. Don't test the method
4. Use __send__ or (send) to call it.
5. Refactor private methods to a new object, and make the methods public in that object.

Most of those options suck (esp. 1, 2, 3, & 4) - usually it represents a design flaw (you are doing too much in your class).

Yup. Sprout class[1] works for me, every single time.

[1]http://xunitpatterns.com/Sprout%20Class.html

By the way, Sprout Class comes from 'Working Effectively with Legacy Code' (Feathers), which is probably the best book I've read on TDD (Admittedly I've yet to read The RSpec Book). Highly recommended.

cheers,
Matt

+447974 430184
m...@mattwynne.net
http://mattwynne.net


cheers,
Matt

+447974 430184
m...@mattwynne.net
http://mattwynne.net

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to