Tests were are you?

Markus Gaelli gaelli at emergent.de
Mon Oct 13 17:53:18 UTC 2003


Hi folks,
>    We should look into partitioning the tests in a more intelligent
>    way (e.g. at Package-boundaries "run all tests for Package XY").
>
With TestRunner from SM you can select the tests for specific 
categories.
>
> 2) The Browser. The Tests-package adds a companion category to
>    every class-category in the system. That adds a lot of
>    noise....
> (...)
>    (Here we need to think about examples... if we provide easy
>     access to tests, we should do the same for the examples
>     that the tests are based upon.... (c.f Markus Gaelli's Eg))

I would love to have a metamodel/browser combo, where we could annotate 
a method
with some example factories for the receiver/ parameters and add some 
_concrete_
pre- and postconditions to the method if executed with that specific 
examples.
Also some example composer would be just great.

Peter van Rojen did a very nice integration of tests in the VisualAge 
IDE and
I absolutely agree with Peter, that their shouldn't be a separation of 
tests and classes.
So I suggest the following model:

- Every "non value object" can be recreated by an example factory
(value objects can be written down directly).
- Every class can have 0...n example factories.

- Every method can have 0...n example methods.
- Every example method has one example factory producing its receiver 
and
one for producing each parameter,
it also has
	- 0...n (concrete) preconditions
	- and 0...n (concrete) post-conditions.
- Example factories use other example factories for producing complex 
objects.

With "Eg" I did a first prototype of this using Roels StarBrowser.
I tried to lobby the StarBrowser as a general class browser being easily
extendable also for other metamodel changes but without much success 
yet,
so I don't know how to combine forces here.

What do you think?

Markus



More information about the Squeak-dev mailing list