I'm plannig to tackle this case
I am all in for decoupling the TestRunner UI from the functionality it provides.
And even making a new object that both the CommandLineTestRunner and the TestRunner use.
I wouldn't do that subclassifying both from a common superclass.
That is, I would use composition, not inheritance.
Before I begin with this, anyone have some insight or thoughts to share?