As a part of simplifying agents, I suggest we remove some services from nunit.engine.core. In each case, most of the code would remain but it would no longer function as a service. As a start, I suggest removing the following two services, which will only be used by agents 4.0.
DomainManager
is only used by the TestDomainRunner
, which can access it directly without need for the ServiceManager
to be involved. Once we remove the --inprocess
option, TestDomainRunner
will only ever be created by an agent, simplifying things further.
InProcessTestRunnerFactory
is now extremely simple. When running under .NETFX, we use a TestDomainRunner
. Under .NET Core, a LocalTestRunner
. This code may be directly incorporated where needed rather than providing a service.
Once these two are removed as services, only two will remain in the core: DriverService
and ExtensionService
. If The former is removed, as has been proposed separately, then ExtensionService
is no longer needed in the core and may be moved to the nunit.engine
assembly.
If we decide to keep the ability to provide custom drivers, we would need to create a simplified bit of code to locate and load them, which avoided the need to handle incompatible target runtimes through use of conventions.
In either case, removal of the two listed services is beneficial and could result in eventual removal of the ServiceManager
itself from the core.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4