public void RegisterResult (TestContext context, UnitTestResult result) { // Avoid registering results twice if (lastResult != null && lastResult.TestDate == context.TestDate) return; result.TestDate = context.TestDate; // if ((int)result.Status == 0) // result.Status = ResultStatus.Ignored; lastResult = result; historicResult = false; resultLoaded = true; IResultsStore store = GetResultsStore (); if (store != null) store.RegisterResult (ActiveConfiguration, this, result); OnTestStatusChanged (); }
void RunTests () { try { UnitTestService.ResetResult (test); TestContext ctx = new TestContext (monitor, resultsPad, context, DateTime.Now); test.Run (ctx); test.SaveResults (); } catch (Exception ex) { LoggingService.LogError (ex.ToString ()); monitor.ReportRuntimeError (null, ex); } finally { monitor.FinishTestRun (); } }
public UnitTestResult Run (TestContext testContext) { testContext.Monitor.BeginTest (this); UnitTestResult res = null; object ctx = testContext.ContextData; try { Status = TestStatus.Running; res = OnRun (testContext); } catch (Exception ex) { res = UnitTestResult.CreateFailure (ex); } finally { Status = TestStatus.Ready; testContext.Monitor.EndTest (this, res); } RegisterResult (testContext, res); testContext.ContextData = ctx; return res; }
protected abstract UnitTestResult OnRun (TestContext testContext);
protected virtual UnitTestResult OnRunChildTest (UnitTest test, TestContext testContext) { return test.Run (testContext); }
protected virtual void OnEndTest (TestContext testContext) { }
protected virtual void OnBeginTest (TestContext testContext) { }
protected override UnitTestResult OnRun (TestContext testContext) { UnitTestResult tres = new UnitTestResult (); OnBeginTest (testContext); try { foreach (UnitTest t in Tests) { if (t.IsExplicit) continue; UnitTestResult res; try { res = OnRunChildTest (t, testContext); if (testContext.Monitor.CancellationToken.IsCancellationRequested) break; } catch (Exception ex) { res = UnitTestResult.CreateFailure (ex); } tres.Add (res); } } finally { OnEndTest (testContext); } return tres; }
protected virtual void OnEndTest(TestContext testContext) { }
protected virtual UnitTestResult OnRunChildTest(UnitTest test, TestContext testContext) { return(test.Run(testContext)); }
protected virtual void OnBeginTest(TestContext testContext) { }