public property observer as TestRunObserver = null
Optional observer notified as each test class starts and completes.
Callbacks execute on the runner thread. GUI observers must transfer results to their event-loop thread before updating widgets.
runner.observer = ProgressObserver() report = runner.run(["klyn.collections"])