public override TestResult Run(EventListener listener) { using (new TestContext()) { TestCaseResult testResult = MakeTestCaseResult(); listener.TestStarted(this.TestName); long startTime = DateTime.Now.Ticks; switch (this.RunState) { case RunState.Runnable: case RunState.Explicit: Run(testResult); break; case RunState.Skipped: testResult.Skip(IgnoreReason); break; default: case RunState.NotRunnable: case RunState.Ignored: testResult.Ignore(IgnoreReason); break; } long stopTime = DateTime.Now.Ticks; double time = ((double)(stopTime - startTime)) / (double)TimeSpan.TicksPerSecond; testResult.Time = time; listener.TestFinished(testResult); return(testResult); } }
public override TestResult Run(EventListener listener) { using (new TestContext()) { TestCaseResult testResult = MakeTestCaseResult(); listener.TestStarted(this.TestName); // The babysitter's enter/leave "listeners" specifically exist to track crashes, // so unfortunately they can't work through the (asynchronous) listener interface. bool willRun = this.RunState == RunState.Runnable || this.RunState == RunState.Explicit; if (willRun) { BabysitterSupport.RecordEnterTest(this.TestName.FullName); } long startTime = DateTime.Now.Ticks; switch (this.RunState) { case RunState.Runnable: case RunState.Explicit: Run(testResult); break; case RunState.Skipped: testResult.Skip(IgnoreReason); break; default: case RunState.NotRunnable: case RunState.Ignored: testResult.Ignore(IgnoreReason); break; } long stopTime = DateTime.Now.Ticks; if (willRun) { BabysitterSupport.RecordLeaveTest(this.TestName.FullName); } double time = ((double)(stopTime - startTime)) / (double)TimeSpan.TicksPerSecond; testResult.Time = time; listener.TestFinished(testResult); return(testResult); } }