Пример #1
0
        public IResult <TestResult> BuildFromContext(ScenarioContext scenarioContext, FeatureContext featureContext)
        {
            if (scenarioContext is null)
            {
                return(Result <TestResult> .Failure(new ArgumentNullException(nameof(scenarioContext))));
            }

            ulong nanoseconds = ConvertTicksToPositiveNanoseconds(scenarioContext.Stopwatch.Elapsed.Ticks);

            switch (scenarioContext.ScenarioExecutionStatus)
            {
            case ScenarioExecutionStatus.OK: return(BuildPassedResult(nanoseconds));

            case ScenarioExecutionStatus.TestError: return(BuildFailedResult(nanoseconds, _testErrorMessageFactory.BuildFromScenarioContext(scenarioContext)));

            case ScenarioExecutionStatus.StepDefinitionPending: return(BuildPendingResult(nanoseconds, _testPendingMessageFactory.BuildFromScenarioContext(scenarioContext)));

            case ScenarioExecutionStatus.BindingError: return(BuildAmbiguousResult(nanoseconds, _testAmbiguousMessageFactory.BuildFromScenarioContext(scenarioContext)));

            case ScenarioExecutionStatus.UndefinedStep: return(BuildUndefinedResult(nanoseconds, _testUndefinedMessageFactory.BuildFromContext(scenarioContext, featureContext)));

            default: return(Result <TestResult> .Failure($"Status '{scenarioContext.ScenarioExecutionStatus}' is unknown or not supported."));
            }
        }
Пример #2
0
 public IResult <TestResult> BuildFailedResult(ulong durationInNanoseconds, ScenarioContext scenarioContext)
 {
     return(BuildTestResult(durationInNanoseconds, Status.Failed, _testErrorMessageFactory.BuildFromScenarioContext(scenarioContext)));
 }