protected virtual void DoOneTimeTearDown(TestResult suiteResult) { if (this.Fixture != null) { try { if (this.fixtureTearDown != null) { Reflect.InvokeMethod(fixtureTearDown, Fixture); } IDisposable disposable = Fixture as IDisposable; if (disposable != null) { disposable.Dispose(); } } catch (Exception ex) { // Error in TestFixtureTearDown or Dispose causes the // suite to be marked as a failure, even if // all the contained tests passed. NUnitException nex = ex as NUnitException; if (nex != null) { ex = nex.InnerException; } suiteResult.Failure(ex.Message, ex.StackTrace, FailureSite.TearDown); } this.Fixture = null; } }
protected virtual void DoOneTimeAfterTestSuiteActions(TestResult suiteResult) { try { ExecuteActions(ActionPhase.After); } catch (Exception ex) { // Error in TestFixtureTearDown or Dispose causes the // suite to be marked as a failure, even if // all the contained tests passed. NUnitException nex = ex as NUnitException; if (nex != null) { ex = nex.InnerException; } suiteResult.Failure(ex.Message, ex.StackTrace, FailureSite.TearDown); } }
protected virtual void DoOneTimeTearDown(TestResult suiteResult) { if (this.FixtureType != null) { try { if (this.fixtureTearDownMethods != null) { int index = fixtureTearDownMethods.Length; while (--index >= 0) { MethodInfo fixtureTearDown = fixtureTearDownMethods[index]; Reflect.InvokeMethod(fixtureTearDown, fixtureTearDown.IsStatic ? null : Fixture); } } IDisposable disposable = Fixture as IDisposable; if (disposable != null) { disposable.Dispose(); } } catch (Exception ex) { // Error in TestFixtureTearDown or Dispose causes the // suite to be marked as a failure, even if // all the contained tests passed. NUnitException nex = ex as NUnitException; if (nex != null) { ex = nex.InnerException; } suiteResult.Failure(ex.Message, ex.StackTrace, FailureSite.TearDown); } this.Fixture = null; } }