/// <summary> /// Runs the test, saving a TestResult in the supplied TestExecutionContext. /// </summary> /// <param name="context">The context in which the test should run.</param> /// <returns>A TestResult</returns> public override TestResult Execute(TestExecutionContext context) { try { _methods.RunSetUp(context); context.CurrentResult = innerCommand.Execute(context); } catch (Exception ex) { #if !NETCF && !SILVERLIGHT if (ex is ThreadAbortException) { Thread.ResetAbort(); } #endif context.CurrentResult.RecordException(ex); } finally { if (context.ExecutionStatus != TestExecutionStatus.AbortRequested) { _methods.RunTearDown(context); } } return(context.CurrentResult); }
/// <summary> /// Overridden to run the teardown methods specified on the test. /// </summary> /// <param name="context">The TestExecutionContext to be used.</param> /// <returns>A TestResult</returns> public override TestResult Execute(TestExecutionContext context) { TestResult suiteResult = context.CurrentResult; if (_setUpTearDown != null) { try { _setUpTearDown.RunTearDown(context); IDisposable disposable = context.TestObject as IDisposable; if (disposable != null) { disposable.Dispose(); } } catch (Exception ex) { suiteResult.RecordTearDownException(ex); } } return(suiteResult); }