public void Run(UnitTestSettings settings) { // Avoid having the Run method called twice if (_harness != null) { return; } _harness = settings.TestHarness; if (_harness == null) { throw new InvalidOperationException(Properties.UnitTestMessage.UnitTestSystem_Run_NoTestHarnessInSettings); } if (settings.TestService == null && !settings.TestServiceSetterCalled) { SetTestService(settings); } _harness.Settings = settings; _harness.TestHarnessCompleted += (sender, args) => OnTestHarnessCompleted(args); if (settings.StartRunImmediately) { _harness.Run(); } }