In the startup of a run, 10 classes are directly involved, as shown in the sequence diagram above plus the Event class itself.
The classes may or may not know about the ITestListener interface and the Event class, which handles the standard NUnit events.
Class | ITestListener | Event | Comment | How to add event listeners |
---|---|---|---|---|
FrameworkController | No | No | The controller of the test run | NA |
DefaultTestAssemblyBuilder | No | No | Builds the test assembly | NA |
NunitTestAssemblyRunner | Yes | No | Runs the test assembly | Add Run method, Use generic methods, Split public methods |
TestProgressReporter | Yes | No | Reports progress of the test run | Add more handlers, add methods for other events |
TestExecutionContext | Yes | No | The context of the test run | Add extra property |
QueuingEventListener | Yes | Yes | Queues std events, hard bound | Add new similar class for custom events |
EventQueue | No | Yes | The queue of events | Change to generic class |
EventPump | Yes | Yes | Pumps events | Change to base class and derived class |
SimpleWorkItemDispatcher | No | No | Dispatches work items | NA |
WorkItem | No | No | The base class for work items | |
Event | No | Sure | Class for std NUnit events | Add another class for custom events |