示例#1
0
        private TestSuiteResult NotRunTestSuite()
        {
            TestSuiteResult result = new TestSuiteResult(null, "RootSuite");

            result.Executed = false;

            TestCaseResult testCaseResult = new TestCaseResult("NonRunTestCase");

            testCaseResult.NotRun("No Reason");
            result.AddResult(testCaseResult);

            return(result);
        }
示例#2
0
        public override void Run(TestCaseResult testResult)
        {
            if (ShouldRun)
            {
                bool needParentTearDown = false;

                try
                {
                    if (Parent != null)
                    {
                        if (Parent.SetUpNeeded)
                        {
                            Parent.DoOneTimeSetUp(testResult);
                            needParentTearDown = Parent.SetUpComplete;
                        }

                        if (Parent.SetUpFailed)
                        {
                            testResult.Failure("TestFixtureSetUp Failed", testResult.StackTrace);
                        }
                    }

                    if (!testResult.IsFailure)
                    {
                        doRun(testResult);
                    }
                }
                catch (Exception ex)
                {
                    if (ex is NunitException)
                    {
                        ex = ex.InnerException;
                    }

                    RecordException(ex, testResult);
                }
                finally
                {
                    if (needParentTearDown)
                    {
                        Parent.DoOneTimeTearDown(testResult);
                    }
                }
            }
            else
            {
                testResult.NotRun(IgnoreReason);
            }
        }
 private void MarkTestNotRun(
     Test test, RunState runState, string ignoreReason, TestSuiteResult suiteResult, EventListener listener, ITestFilter filter)
 {
     if (test is TestSuite)
     {
         listener.SuiteStarted(test.TestName);
         TestSuiteResult result = new TestSuiteResult(new TestInfo(test), test.TestName.FullName);
         result.NotRun(runState, ignoreReason, null);
         MarkTestsNotRun(test.Tests, runState, ignoreReason, suiteResult, listener, filter);
         suiteResult.AddResult(result);
         listener.SuiteFinished(result);
     }
     else
     {
         listener.TestStarted(test.TestName);
         TestCaseResult result = new TestCaseResult(new TestInfo(test));
         result.NotRun(runState, ignoreReason, null);
         suiteResult.AddResult(result);
         listener.TestFinished(result);
     }
 }
示例#4
0
        private TestSuiteResult MockSuiteResult(string suiteName, bool failure)
        {
            TestSuiteResult result = new TestSuiteResult(null, suiteName);

            result.Time     = time;
            result.Executed = true;

            TestSuiteResult level1SuiteA = new TestSuiteResult(null, "level 1 A");

            result.AddResult(level1SuiteA);
            level1SuiteA.Executed = true;

            TestSuiteResult level1SuiteB = new TestSuiteResult(null, "level 1 B");

            result.AddResult(level1SuiteB);
            level1SuiteB.Executed = true;

            testCase = new TestCaseResult("a test case");
            if (failure)
            {
                testCase.Failure("argument exception", null);
            }
            else
            {
                testCase.Success();
            }

            level1SuiteA.AddResult(testCase);

            testCase = new TestCaseResult("a successful test");
            testCase.Success();
            level1SuiteB.AddResult(testCase);

            testCase = new TestCaseResult("a not run test");
            testCase.NotRun("test not run");
            level1SuiteB.AddResult(testCase);

            return(result);
        }
示例#5
0
        private void doTestCase(TestCaseResult testResult)
        {
            try
            {
                RunTestMethod(testResult);
                testResult.Success();
            }
            catch (Exception ex)
            {
                if (ex is NunitException)
                {
                    ex = ex.InnerException;
                }

                if (testFramework.IsIgnoreException(ex))
                {
                    testResult.NotRun(ex.Message, BuildStackTrace(ex));
                }
                else
                {
                    RecordException(ex, testResult);
                }
            }
        }