/// <summary> /// Executes the test case method. /// </summary> /// <param name="testClass">An instance of the class that contains the test case method.</param> /// <returns>The <see cref="MethodResult"/> of executing the test case method.</returns> public override MethodResult Execute(object testClass) { ITestClass theTestClass = testClass as ITestClass; if (null != theTestClass) { MethodResult result = null; try { theTestClass.TestInitialize(this.Namespace, this.Class, this.Method); result = base.Execute(testClass); } catch (Exception ex) { // Return test failure to avoid extra break when debugging. result = new FailedResult(this.testMethod, ex, null); } finally { theTestClass.TestUninitialize(result); } return(result); } return(base.Execute(testClass)); }