SUnit: Skipping tests?

Lukas Renggli renggli at gmail.com
Wed Mar 29 07:06:44 UTC 2006


> > OrderedCollection>>beginOfTest
> >     <begin>
> >     self add: 1; add: 2
> >
> > Point>>test
> >     <test>
> >     self assert: lastIndex - firstIndex  = 1.
> >     self assert: (array includes: 1).
> >     self assert: (array includes: 2).
> >     ...
>
>  For me isn't a good idea to do "white box" testing. In the
> OrderedCollection example given, I don't care how the items are handled in
> the collection object, and I couldn't find any good reason to make a test
> like that. Because if I do a re factoring, maybe I have to modify all the
> tests written in that way :(

- If you rename #add: to #addItem: you have to re-factor your tests as well.

- If you have something more complex such as an AVL-, B-, R-Tree, etc.
you certainly want to test some internal state, simply iterating over
the elements cannot reveal all bugs. I don't see a reason why the
internal state of OrderedCollection shouldn't be testable as well.

>  But I don't like the idea of having "annotations"... I hate them :P

There are some problem in software engineering (mainly related to
extending) that cannot be cleanly solved otherwise.

> Because
> an annotation for me is like an "attribute", it's only data without
> behavior, but in the system is necessary to take decisions based on this
> "attribute value".

Wrong.

- No need to take decisions, the trick is to dispatch annotations onto
objects that understand these messages.

- Annotated method do have behavior, see Tweak that is using
annotations to define event-handlers.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch



More information about the Squeak-dev mailing list