Runner which repeats test execution a number of times identified by strategy but at least once.

The runner repeats a number of time according to repeat strategy given by inner Repeater class.
Such factory approach is preferable before delegation in multithread environment and helps to avoid errors related to race conditions. Since each runner invoking uses each own instance of the repeat strategy.

In order to implement custom strategy just implement RepeatRunner class and actualize inner Repeater class.

The runner repeats only test function execution! All before, after and testRule callbacks are executed once. In order to repeat overal test execution cycle see retry().

Thread-safe.

By: Lis
See also retry()
Since 0.6.0
Initializer
RepeatRunner()
Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
runshared actual void run(AsyncRunnerContext context, void testing(AsyncRunnerContext context), TestInfo info)

Runs test function testing on a given test context.
testing function is not as that is applied from TestInfo.testFunction! It is not recommended to apply test function declaration to call test function rather than to put direct call of the given testing function.

Callbacks from testing to the context are synchronized - only one context method is executed at a given time.

At the same time runner may be executed by above runner which may call simultaneously the run method from several threads. Each runner is responsible for the thread safe execution.

Inherited Methods
Methods inherited from: Object
equals
Methods inherited from: AsyncTestRunner
Nested Classes
Repeatershared formal Repeater

Strategy which identifies test repeat times and reported results.
Each time when runner is executed new instance is created.
Such factory approach is preferable before delegation in multithread environment and helps to avoid race conditions.
Each implementation of RepeatRunner may have its own strategy.