Just to clarify, this is what I meant in my original email :-) Most
of my methods are very small - in Ruby any method longer than 5 lines
is, imho, a code smell that's waiting to be fixed. However, no matter
how many methods are used to implement the functionality, I test the
public behaviour of the object rather than the methods themselves.
Sometimes, this maps directly to a public method. Sometimes, a spec
will actually use several public methods in concert. With this
approach, I never spec private methods.
Daniel
On 9 Jan 2008, at 10:01 9 Jan 2008, Stefan Magnus Landrø wrote:
I totally agree with you, David!
For quite a while I was testing all my methods (even had to declare
them protected/package scope in java!), but I realized that I was
getting into a lot of trouble. Now I've shifted to testing
functionality in stead of methods.
Now, sometimes you might end up having small methods (typically a
result of refactoring) that are being used by several clients. In
that case you should start testing those methods, since they
actually represent real business logic.
I talked to uncle Bob about this issue just a few months ago, and
as far as I understood, he uses a similar approach.
I think it might make sense to think of the facade pattern when you
do your testing - do you really care what happens behind the facade?
Stefan
2008/1/9, David Chelimsky <[EMAIL PROTECTED]>:
On Jan 8, 2008 1:25 PM, Matt Patterson <[EMAIL PROTECTED]>
wrote:
You should check out the bowling kata
( http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata) if you
haven't. At the end there are just a few tests and they all touch only
2 public methods, but there are many, many smaller methods that appear
through refactoring. They are all thoroughly tested, though not
directly.
Cheers,
David
______________
--
Bekk Open Source
http://boss.bekk.no
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users