In this section, we'll briefly cover the various configuration options that can be used to control how tests are executed and which tests are executed.
Each test case makes a config function available, which can be used to set specific configurations for that test, such as threading, tags, and whether the test is enabled or not. For example, we can change the number of times a test is executed:
class ConfigExample : ShouldSpec(), Eventually { init { should("run multiple times") { // test logic }.config(invocations = 5) } }
We set the number of invocations to five. This is the number of times the same test will be executed each time the unit tests phase is invoked. A complement to the number of invocations is the number of threads those invocations will use. By default, this is one:
should("run multiple times in multiple threads") { // test logic ...