pub struct Basic<World, F = WhichScenarioFn, Before = BeforeHookFn<World>, After = AfterHookFn<World>> { /* private fields */ }Expand description
Default Runner implementation which follows order guarantees from
the Runner trait docs.
Executes Scenarios concurrently based on the custom function, which
returns ScenarioType. Also, can limit maximum number of concurrent
Scenarios.
Implementations
sourceimpl<World, Which, Before, After> Basic<World, Which, Before, After>
impl<World, Which, Before, After> Basic<World, Which, Before, After>
sourcepub fn max_concurrent_scenarios(self, max: impl Into<Option<usize>>) -> Self
pub fn max_concurrent_scenarios(self, max: impl Into<Option<usize>>) -> Self
sourcepub fn retry_after(self, after: impl Into<Option<Duration>>) -> Self
pub fn retry_after(self, after: impl Into<Option<Duration>>) -> Self
sourcepub fn retry_filter(
self,
tag_expression: impl Into<Option<TagOperation>>
) -> Self
pub fn retry_filter(
self,
tag_expression: impl Into<Option<TagOperation>>
) -> Self
sourcepub const fn fail_fast(self) -> Self
pub const fn fail_fast(self) -> Self
Run tests until the first failure.
NOTE: All the already started Scenarios at the moment of failure
will be finished.
sourcepub fn which_scenario<F>(self, func: F) -> Basic<World, F, Before, After>where
F: Fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType + 'static,
pub fn which_scenario<F>(self, func: F) -> Basic<World, F, Before, After>where
F: Fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType + 'static,
Function determining whether a Scenario is Concurrent or
a Serial one.
sourcepub fn retry_options<R>(self, func: R) -> Selfwhere
R: Fn(&Feature, Option<&Rule>, &Scenario, &Cli) -> Option<RetryOptions> + 'static,
pub fn retry_options<R>(self, func: R) -> Selfwhere
R: Fn(&Feature, Option<&Rule>, &Scenario, &Cli) -> Option<RetryOptions> + 'static,
Function determining Scenario’s RetryOptions.
sourcepub fn before<Func>(self, func: Func) -> Basic<World, Which, Func, After>where
Func: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> LocalBoxFuture<'a, ()>,
pub fn before<Func>(self, func: Func) -> Basic<World, Which, Func, After>where
Func: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> LocalBoxFuture<'a, ()>,
Sets a hook, executed on each Scenario before running all its
Steps, including Background ones.
sourcepub fn after<Func>(self, func: Func) -> Basic<World, Which, Before, Func>where
Func: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> LocalBoxFuture<'a, ()>,
pub fn after<Func>(self, func: Func) -> Basic<World, Which, Before, Func>where
Func: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> LocalBoxFuture<'a, ()>,
sourcepub fn steps(self, steps: Collection<World>) -> Self
pub fn steps(self, steps: Collection<World>) -> Self
Sets the given Collection of Steps to this Runner.
Trait Implementations
sourceimpl<W, Which, Before, After> Runner<W> for Basic<W, Which, Before, After>where
W: World,
Which: Fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType + 'static,
Before: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut W) -> LocalBoxFuture<'a, ()> + 'static,
After: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut W>) -> LocalBoxFuture<'a, ()> + 'static,
impl<W, Which, Before, After> Runner<W> for Basic<W, Which, Before, After>where
W: World,
Which: Fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType + 'static,
Before: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut W) -> LocalBoxFuture<'a, ()> + 'static,
After: for<'a> Fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut W>) -> LocalBoxFuture<'a, ()> + 'static,
Auto Trait Implementations
impl<World, F = fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> ScenarioType, Before = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>, After = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a ScenarioFinished, _: Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>> !RefUnwindSafe for Basic<World, F, Before, After>
impl<World, F = fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> ScenarioType, Before = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>, After = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a ScenarioFinished, _: Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>> !Send for Basic<World, F, Before, After>
impl<World, F = fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> ScenarioType, Before = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>, After = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a ScenarioFinished, _: Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>> !Sync for Basic<World, F, Before, After>
impl<World, F, Before, After> Unpin for Basic<World, F, Before, After>where
After: Unpin,
Before: Unpin,
F: Unpin,
impl<World, F = fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> ScenarioType, Before = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>, After = fn(_: &'a Feature, _: Option<&'a Rule>, _: &'a Scenario, _: &'a ScenarioFinished, _: Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a, Global>>> !UnwindSafe for Basic<World, F, Before, After>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Ext for T
impl<T> Ext for T
sourcefn assert_normalized(self) -> AssertNormalized<T>
fn assert_normalized(self) -> AssertNormalized<T>
sourcefn normalized<W>(self) -> Normalize<W, T>
fn normalized<W>(self) -> Normalize<W, T>
sourcefn summarized(self) -> Summarize<T>
fn summarized(self) -> Summarize<T>
sourcefn fail_on_skipped(
self
) -> FailOnSkipped<T, fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> bool>
fn fail_on_skipped(
self
) -> FailOnSkipped<T, fn(_: &Feature, _: Option<&Rule>, _: &Scenario) -> bool>
sourcefn fail_on_skipped_with<F>(self, f: F) -> FailOnSkipped<T, F>where
F: Fn(&Feature, Option<&Rule>, &Scenario) -> bool,
fn fail_on_skipped_with<F>(self, f: F) -> FailOnSkipped<T, F>where
F: Fn(&Feature, Option<&Rule>, &Scenario) -> bool,
sourcefn repeat_skipped<W>(
self
) -> Repeat<W, T, fn(_: &Result<Event<Cucumber<W>>, Error>) -> bool>
fn repeat_skipped<W>(
self
) -> Repeat<W, T, fn(_: &Result<Event<Cucumber<W>>, Error>) -> bool>
sourcefn repeat_if<W, F>(self, filter: F) -> Repeat<W, T, F>where
F: Fn(&Result<Event<Cucumber<W>>, Error>) -> bool,
fn repeat_if<W, F>(self, filter: F) -> Repeat<W, T, F>where
F: Fn(&Result<Event<Cucumber<W>>, Error>) -> bool,
sourcefn discard_arbitrary_writes(self) -> Arbitrary<T>
fn discard_arbitrary_writes(self) -> Arbitrary<T>
Wraps this
Writer into a discard::Arbitrary one, providing a
no-op ArbitraryWriter implementation. Read moresourcefn discard_stats_writes(self) -> Stats<T>
fn discard_stats_writes(self) -> Stats<T>
Wraps this
Writer into a discard::Stats one, providing a no-op
StatsWriter implementation returning only 0. Read more