Example #1
0
            /// <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));
            }