public MasterTestRunner(IServiceLocator services, TestPackage package) { if (services == null) { throw new ArgumentNullException("services"); } if (package == null) { throw new ArgumentNullException("package"); } _services = services; TestPackage = package; // Get references to the services we use _projectService = _services.GetService <IProjectService>(); _testRunnerFactory = _services.GetService <ITestRunnerFactory>(); _packageAnalyzer = _services.GetService <TestPackageAnalyzer>(); _runtimeService = _services.GetService <IRuntimeFrameworkService>(); _eventDispatcher = _services.GetService <TestEventDispatcher>(); // Last chance to catch invalid settings in package, // in case the client runner missed them. _packageAnalyzer.ValidatePackageSettings(package); }
public void Initialize() { // Add all services needed by any of our TestEngineRunners _services = new ServiceContext(); _services.Add(new FakeExtensionService()); _services.Add(new FakeProjectService()); _services.Add(new TestFrameworkService()); var packageSettingsService = new TestPackageAnalyzer(); _services.Add(packageSettingsService); #if !NETCOREAPP2_1 _services.Add(new FakeRuntimeService()); //_services.Add(new TestAgency("ProcessRunnerTests", 0)); #endif //_services.Add(new FakeTestRunnerFactory()); _services.ServiceManager.StartServices(); var mockAssemblyPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "mock-assembly.dll"); var assemblies = new List <string>(); for (int i = 0; i < _numAssemblies; i++) { assemblies.Add(mockAssemblyPath); } _package = new TestPackage(assemblies); packageSettingsService.ApplyImageSettings(_package); // HACK: Depends on the fact that all TestEngineRunners support this constructor _runner = (TRunner)Activator.CreateInstance(typeof(TRunner), _services, _package); }