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, ""); } }
private ScenarioContext CreateScenarioContext(ScenarioExecutionStatus scenarioExecutionStatus) { return(new ScenarioContext(null, new ScenarioInfo("", "", null, null), null) { ScenarioExecutionStatus = scenarioExecutionStatus }); }
private TestOutcome GetTestOutcomeFromScenarioExecutionStatus(ScenarioExecutionStatus scenarioExecutionStatus) { if (scenarioExecutionStatus == ScenarioExecutionStatus.OK) { return(TestOutcome.Passed); } else if (scenarioExecutionStatus == ScenarioExecutionStatus.TestError) { return(TestOutcome.Failed); } return(TestOutcome.Unknown); }
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); } }
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); }
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)); }
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); }