[Webtest] [dev] refactoring

Dierk Koenig webtest@lists.canoo.com
Thu, 4 Aug 2005 14:34:04 +0200


The internal state of a step consists of 
- information that only this step cares about,
  e.g. its attributes
- information that is common for all steps
  and is of 'read only' nature, e.g. the testSpec
- information that is shared, handed over from step
  to step, and is of 'read/write' nature.
The latter is called the context and extracted into
the Context class.
This is the logic of the separation and it is reflected in the
current object design.

> and what are we waiting for to make 1.7 final?

Catching up with the documentation.
Go over the extension steps to see what we want to promote to
core steps.
Finalizing the currently open work streams ( pdf (?), 
xdoclet (?), groovy update and docu, ...)

> but as they are custom steps, we can't be aware of them. I guess 
> that the move from httpunit to htmlunit has broken 
> nearly all custom steps.

Yes, and that was the downside of the otherwise important and useful
change. 

> > We shouldn't do so
> > without very good reason.
> 
> is a good, well structured, design a good reason?

It is, but IME collapsing Context does not improve the design. 

> we could imagine to have doExecute() default implementation call 
> doExecute(Context) which would be marked as deprecated.

How could we keep a doExecute(Context) signature if there is no
Context class any more?

cheers
Mittie