TestRunner in 3.8 -- ARGH!!!
Andreas Raab
andreas.raab at gmx.de
Tue Nov 2 05:39:21 UTC 2004
Hi Guys,
I don't know how many people out there use 3.8 (or 3.7 for that matter) but
given the behavior of TestRunner I cannot imagine that many people use it
for daily work. In moving some code from 3.6 to 3.8 I immediately noticed
that some important things have been broken, others removed, as if it were
the goal to make it harder to run tests. How odd.
More specifically:
#1: As has been pointed out in the thread starting at
http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-March/074876.html
TestRunner is STILL broken if you run any UI tests with it. It's six months
now during which the people who have argued this broken behavior to be a
"feature" have done absolutely nothing to improve the situation. ARGH!
#2: For some odd reason, someone must have decided that a nicer look of
TestRunner is more important than the work it does. So what we got in this
process is a beautifully anti-aliased progress bar ... and what we lost is
the ability to easily run multiple tests at once (yeah, who'd need that eh?!
;-)
In case this hasn't been clear to everyone, abstract test cases run all of
their "sub-tests" if executed. In other words, in the 3.6 TestRunner you can
have a test structure that looks like:
AllMyTests
MyTestNrOne
MyTestNrTwo
MyTestNrThree
and with AllMyTests being an abstract superclass you only need to select it
and run all of my three tests at once. In the 3.8 TestRunner you don't get
to see abstract test cases in the list - but rather, you need to select EACH
AND EVERY single test manually in this list. Which, besides, is broken if
you try to do a selection by dragging through with the mouse but anyway.
ARGH!
So if we were interested in BOTH good look and good usability we really
ought to do a number of things, including:
a) get rid of the single multi-selection list and replace it with a tree
widget that shows the structure of trees, after this has been done
b) get rid of all of the "run one" and "run all" button and have only a
single "run" button (which automatically runs the hierarchy of the tests
selected)
c) get rid of the "select all", "deselect all", "toggle selection", and
"filter" stuff
At which point we have a very nice, simple, good looking and actually usable
UI with a clean structure of tests that may actually be of help to someone
who is trying to get work done.
Any comments? I am in particular interested if any of the "feature"
proponents of #1 can be bothered to fix what they broke. I'd be happy to
help with the latter too (since I have already posted code which fixes the
former).
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|