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§
Source§impl<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 fn which_scenario<F>(self, func: F) -> Basic<World, F, Before, After>
pub fn which_scenario<F>(self, func: F) -> Basic<World, F, Before, After>
Function determining whether a Scenario is Concurrent or
a Serial one.
Sourcepub fn retry_options<R>(self, func: R) -> Self
pub fn retry_options<R>(self, func: R) -> Self
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§
Source§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,
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, Before, After> Freeze for Basic<World, F, Before, After>
impl<World, F = fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType, Before = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a>>, After = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a>>> !RefUnwindSafe for Basic<World, F, Before, After>
impl<World, F = fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType, Before = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a>>, After = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a>>> !Send for Basic<World, F, Before, After>
impl<World, F = fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType, Before = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a>>, After = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a>>> !Sync for Basic<World, F, Before, After>
impl<World, F, Before, After> Unpin for Basic<World, F, Before, After>
impl<World, F = fn(&Feature, Option<&Rule>, &Scenario) -> ScenarioType, Before = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a mut World) -> Pin<Box<dyn Future<Output = ()> + 'a>>, After = for<'a> fn(&'a Feature, Option<&'a Rule>, &'a Scenario, &'a ScenarioFinished, Option<&'a mut World>) -> Pin<Box<dyn Future<Output = ()> + 'a>>> !UnwindSafe for Basic<World, F, Before, After>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Ext for T
impl<T> Ext for T
Source§fn assert_normalized(self) -> AssertNormalized<T>
fn assert_normalized(self) -> AssertNormalized<T>
Source§fn normalized<W>(self) -> Normalize<W, T>
fn normalized<W>(self) -> Normalize<W, T>
Source§fn summarized(self) -> Summarize<T>
fn summarized(self) -> Summarize<T>
Source§fn fail_on_skipped(self) -> FailOnSkipped<T>
fn fail_on_skipped(self) -> FailOnSkipped<T>
Source§fn fail_on_skipped_with<F>(self, f: F) -> FailOnSkipped<T, F>
fn fail_on_skipped_with<F>(self, f: F) -> FailOnSkipped<T, F>
Source§fn repeat_skipped<W>(self) -> Repeat<W, T>
fn repeat_skipped<W>(self) -> Repeat<W, T>
Source§fn repeat_failed<W>(self) -> Repeat<W, T>
fn repeat_failed<W>(self) -> Repeat<W, T>
Source§fn repeat_if<W, F>(self, filter: F) -> Repeat<W, T, F>
fn repeat_if<W, F>(self, filter: F) -> Repeat<W, T, F>
Wraps this
Writer to re-output filtered events at the end of an
output.Source§fn tee<W, Wr>(self, other: Wr) -> Tee<T, Wr>where
Wr: Writer<W>,
fn tee<W, Wr>(self, other: Wr) -> Tee<T, Wr>where
Wr: Writer<W>,
Attaches the provided
other Writer to the current one for passing
events to both of them simultaneously.Source§fn 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 moreSource§fn 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 moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more