Пример #1
0
        public void LogStep()
        {
            StepInfo stepInfo = _context.StepContext.StepInfo;
            ScenarioExecutionStatus status = _context.ScenarioExecutionStatus;
            LogStatus logStatus            = LogStatus.Pass;

            switch (status)
            {
            case ScenarioExecutionStatus.OK:
                break;

            case ScenarioExecutionStatus.Skipped:
                logStatus = LogStatus.Skip;
                break;

            default:     // everything else is a fail
                logStatus = LogStatus.Fail;
                break;
            }

            if (logStatus == LogStatus.Fail)
            {
                test.Log(logStatus, stepInfo.Text, $"<pre>{_context.TestError.Message}</pre>");
            }
            else
            {
                test.Log(logStatus, stepInfo.Text, "");
            }
        }
Пример #2
0
 private ScenarioContext CreateScenarioContext(ScenarioExecutionStatus scenarioExecutionStatus)
 {
     return(new ScenarioContext(null, new ScenarioInfo("", "", null, null), null)
     {
         ScenarioExecutionStatus = scenarioExecutionStatus
     });
 }
Пример #3
0
        private TestOutcome GetTestOutcomeFromScenarioExecutionStatus(ScenarioExecutionStatus scenarioExecutionStatus)
        {
            if (scenarioExecutionStatus == ScenarioExecutionStatus.OK)
            {
                return(TestOutcome.Passed);
            }
            else if (scenarioExecutionStatus == ScenarioExecutionStatus.TestError)
            {
                return(TestOutcome.Failed);
            }

            return(TestOutcome.Unknown);
        }
Пример #4
0
        private void UpdateStatusOnStepFailure(ScenarioExecutionStatus stepStatus, Exception exception)
        {
            _contextManager.StepContext.Status = stepStatus;

            if (_contextManager.ScenarioContext.ScenarioExecutionStatus < stepStatus)
            {
                _contextManager.ScenarioContext.ScenarioExecutionStatus = stepStatus;

                if (exception != null)
                {
                    _contextManager.ScenarioContext.TestError = exception;
                }
            }
        }
        private static ResultStatus MapToReultStatus(ScenarioExecutionStatus statusSrc)
        {
            switch (statusSrc)
            {
            case ScenarioExecutionStatus.OK:
                return(ResultStatus.Passed);

            case ScenarioExecutionStatus.UndefinedStep:
            case ScenarioExecutionStatus.StepDefinitionPending:
            case ScenarioExecutionStatus.BindingError:
                return(ResultStatus.Untested);

            case ScenarioExecutionStatus.TestError:
                return(ResultStatus.Failed);

            default:
                return(ResultStatus.Failed);
            }
        }
Пример #6
0
        public void ThrowPendingError(ScenarioExecutionStatus testStatus, string message)
        {
            switch (specFlowConfiguration.MissingOrPendingStepsOutcome)
            {
            case MissingOrPendingStepsOutcome.Pending:
                unitTestRuntimeProvider.TestPending(message);
                break;

            case MissingOrPendingStepsOutcome.Inconclusive:
                unitTestRuntimeProvider.TestInconclusive(message);
                break;

            case MissingOrPendingStepsOutcome.Ignore:
                unitTestRuntimeProvider.TestIgnore(message);
                break;

            default:
                if (testStatus == ScenarioExecutionStatus.UndefinedStep)
                {
                    throw GetMissingStepDefinitionError();
                }
                throw GetPendingStepDefinitionError();
            }
        }
        private static Mock <IUnitTestRuntimeProvider> ThrowPendingError(MissingOrPendingStepsOutcome missingOrPendingStepsOutcome, string expectedMessage, ScenarioExecutionStatus scenarioExecutionStatus = ScenarioExecutionStatus.UndefinedStep)
        {
            var specFlowConfiguration = ConfigurationLoader.GetDefault();

            specFlowConfiguration.MissingOrPendingStepsOutcome = missingOrPendingStepsOutcome;
            var testRuntimeProviderMock = new Mock <IUnitTestRuntimeProvider>();
            var errorProvider           = CreateErrorProvider(null, specFlowConfiguration, testRuntimeProviderMock.Object);

            errorProvider.ThrowPendingError(scenarioExecutionStatus, expectedMessage);

            return(testRuntimeProviderMock);
        }
Пример #8
0
 internal TestCaseResultParser(ScenarioExecutionStatus executionStatus, Exception testError)
 {
     this.executionStatus = executionStatus;
     this.testError       = testError;
 }
 public void UpdateSuiteExecutionResult(ulong suiteId, ulong runId, int id, ScenarioExecutionStatus status)
 {
     _client?.AddResultForCase(runId, (ulong)id, MapToReultStatus(status));
 }
Пример #10
0
        public void BuildFromContext_PassedScenario_TestResultPartFactoryBuildPassedResultIsCalled(ScenarioExecutionStatus scenarioExecutionStatus, Expression <Action <ITestResultPartsFactory> > expression)
        {
            // ARRANGE
            var testResultPartsFactoryMock = new Mock <ITestResultPartsFactory>();
            var testResultFactory          = new TestResultFactory(testResultPartsFactoryMock.Object);

            // ACT
            var actualTestResult = testResultFactory.BuildFromContext(CreateScenarioContext(scenarioExecutionStatus), null);

            // ASSERT
            testResultPartsFactoryMock.Verify(expression, Times.Once);
        }