public void RunAsync_should_expose_exception_with_simple_call_stack_when_step_throws_it() { var ex = Assert.ThrowsAsync <InvalidOperationException>(() => _runner.NewScenario().AddSteps(Step_throwing_exception).RunAsync()); ex.AssertStackTraceMatching( @"^\s*at LightBDD.Framework.UnitTests.Scenarios.Fluent.Fluent_scenario_exception_stack_trace_integration_tests.Step_throwing_exception[^\n]* \s*at LightBDD.Framework.Scenarios.Basic.Implementation.BasicStepCompiler.StepExecutor.Execute[^\n]* ([^\n]* )?\s*at LightBDD.Framework.Scenarios.Fluent.Implementation.ScenarioBuilder[^\n]*RunAsync[^\n]*"); }
public async Task Runner_should_allow_fluent_scenario_execution_in_async_mode() { var stepDescriptors = new[] { new StepDescriptor("foo", (ctx, args) => Task.FromResult(DefaultStepResultDescriptor.Instance)) }; ExpectNewScenarioWithSteps(stepDescriptors); ExpectRunAsync(); var builder = _runner.NewScenario(); builder.Integrate().AddSteps(stepDescriptors); await builder.RunAsync(); VerifyAllExpectations(); }