May be we could use method annotation to carry this kind of behavior. Lukas started to do something in that direction.
Yes, but what I did was in the context of SmallLint, so that methods could be annotated to expect or ignore certain SmallLint rules. The class LintTestCase (a subclass of TestCase) then queries these pragmas when performing the rules and raises errors only in appropriate cases.
For that I would extend SUnit because this idea of skipped tests is nice to have.
While developing the new test-runner and this SmallLint extension I struggled with SUnit several times. Even-tough there are always ways to subclass and configure it to suit special needs, it gets very soon ugly and cumbersome.
After 3 years of not having touched Java, I decided to have a quick look at JUnit 4 [1] and I must say that they changed a lot to the positive. It makes me sad to see that SUnit still looks more or less the same as the first time I've used it about 4 years ago. We should really try to improve it! Imagine a newbie coming from Java and seeing a testing-framework looks like JUnit 1.0 :-/
A new test runner should be the second step (I've done that already, because the old one was simply causing too much pain), an improved test-model should be the first step! ;-)
Lukas
[1] http://junit.sourceforge.net/javadoc_40
-- Lukas Renggli http://www.lukas-renggli.ch