コード例 #1
0
        public override TestResult Run(EventListener listener)
        {
            using (new TestContext())
            {
                TestCaseResult testResult = MakeTestCaseResult();

                listener.TestStarted(this.TestName);
                long startTime = DateTime.Now.Ticks;

                switch (this.RunState)
                {
                case RunState.Runnable:
                case RunState.Explicit:
                    Run(testResult);
                    break;

                case RunState.Skipped:
                    testResult.Skip(IgnoreReason);
                    break;

                default:
                case RunState.NotRunnable:
                case RunState.Ignored:
                    testResult.Ignore(IgnoreReason);
                    break;
                }

                long   stopTime = DateTime.Now.Ticks;
                double time     = ((double)(stopTime - startTime)) / (double)TimeSpan.TicksPerSecond;
                testResult.Time = time;

                listener.TestFinished(testResult);
                return(testResult);
            }
        }
コード例 #2
0
        public override TestResult Run(EventListener listener)
        {
            using (new TestContext())
            {
                TestCaseResult testResult = MakeTestCaseResult();

                listener.TestStarted(this.TestName);

                // The babysitter's enter/leave "listeners" specifically exist to track crashes,
                // so unfortunately they can't work through the (asynchronous) listener interface.
                bool willRun = this.RunState == RunState.Runnable || this.RunState == RunState.Explicit;
                if (willRun)
                {
                    BabysitterSupport.RecordEnterTest(this.TestName.FullName);
                }

                long startTime = DateTime.Now.Ticks;

                switch (this.RunState)
                {
                case RunState.Runnable:
                case RunState.Explicit:
                    Run(testResult);
                    break;

                case RunState.Skipped:
                    testResult.Skip(IgnoreReason);
                    break;

                default:
                case RunState.NotRunnable:
                case RunState.Ignored:
                    testResult.Ignore(IgnoreReason);
                    break;
                }

                long stopTime = DateTime.Now.Ticks;

                if (willRun)
                {
                    BabysitterSupport.RecordLeaveTest(this.TestName.FullName);
                }

                double time = ((double)(stopTime - startTime)) / (double)TimeSpan.TicksPerSecond;
                testResult.Time = time;

                listener.TestFinished(testResult);
                return(testResult);
            }
        }
コード例 #3
0
        private void doTestCase(TestCaseResult testResult)
        {
            try
            {
                RunTestMethod(testResult);
                ProcessNoException(testResult);
            }
            catch (Exception ex)
            {
                if (ex is NUnitException)
                {
                    ex = ex.InnerException;
                }

                if (IsIgnoreException(ex))
                {
                    testResult.Ignore(ex);
                }
                else
                {
                    ProcessException(ex, testResult);
                }
            }
        }
コード例 #4
0
        public void SetResult_Ignore()
        {
            TestSuiteTreeNode node = new TestSuiteTreeNode( testCaseInfo );
            TestCaseResult result = new TestCaseResult( testCaseInfo );

            result.Ignore( "reason" );
            node.Result = result;
            Assert.AreEqual( "NUnit.Tests.Assemblies.MockTestFixture.MockTest1", node.Result.Name );
            Assert.AreEqual( TestSuiteTreeNode.IgnoredIndex, node.ImageIndex );
            Assert.AreEqual( TestSuiteTreeNode.IgnoredIndex, node.SelectedImageIndex );
            Assert.AreEqual( "Ignored", node.StatusText );
        }
コード例 #5
0
		private void doTestCase( TestCaseResult testResult )
		{
			try
			{
				RunTestMethod(testResult);
				ProcessNoException(testResult);
			}
			catch( Exception ex )
			{
				if ( ex is NUnitException )
					ex = ex.InnerException;

				if ( IsIgnoreException( ex ) )
					testResult.Ignore( ex );
				else
					ProcessException(ex, testResult);
			}
		}
コード例 #6
0
ファイル: NotRunnableTestCase.cs プロジェクト: nobled/mono
		public override void Run(TestCaseResult result)
		{
			result.Ignore(base.IgnoreReason);
		}
コード例 #7
0
 public override void Run(TestCaseResult result)
 {
     result.Ignore(base.IgnoreReason);
 }
コード例 #8
0
        private TestSuiteResult MockSuiteResult(string suiteName, bool failure)
        {
            TestSuiteResult result = new TestSuiteResult(suiteName);
            result.Time = time;
            result.RunState = RunState.Executed;

            TestSuiteResult level1SuiteA = new TestSuiteResult("level 1 A");
            result.AddResult(level1SuiteA);
            level1SuiteA.RunState = RunState.Executed;

            TestSuiteResult level1SuiteB = new TestSuiteResult("level 1 B");
            result.AddResult(level1SuiteB);
            level1SuiteB.RunState = RunState.Executed;

            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.Ignore("test not run");
            level1SuiteB.AddResult(testCase);

            return result;
        }
コード例 #9
0
        private TestSuiteResult NotRunTestSuite()
        {
            TestSuiteResult result = new TestSuiteResult("RootSuite");
            result.RunState = RunState.Executed;

            TestCaseResult testCaseResult = new TestCaseResult("NonRunTestCase");
            testCaseResult.Ignore("No Reason");
            result.AddResult(testCaseResult);

            return result;
        }