Runner
The Runner static class is the entry point for executing tests.
open type Scriptorium.Quill.RunnerRunner API
Section titled “Runner API”Runner.runTests
Section titled “Runner.runTests”Runner.runTests (tests: TestCase list) : intRunner.runTests (test: TestCase) : intRunner.runTests (reporters: Reporter list, tests: TestCase list) : intRunner.runTests (reporters: Reporter list, test: TestCase) : intRuns the test suite with default global configuration. Returns the exit code (0 = all passed, 1 = failures or CI guard triggered).
The overloads without a reporter list use [ Reporters.console ], which produces the terminal output shown above. See Reporters to register your own.
[<EntryPoint>]let main _ = Runner.runTests [ testList ("My suite", [ ... ]) ]Runner.runTestsWith
Section titled “Runner.runTestsWith”Runner.runTestsWith (configurer: TestConfig -> TestConfig, tests: TestCase list) : intRunner.runTestsWith (configurer: TestConfig -> TestConfig, test: TestCase) : intRunner.runTestsWith (configurer: TestConfig -> TestConfig, reporters: Reporter list, tests: TestCase list) : intRunner.runTestsWith (configurer: TestConfig -> TestConfig, reporters: Reporter list, test: TestCase) : intRuns with a custom global configuration. The configurer is applied to TestConfig.Default to produce the global config.
[<EntryPoint>]let main _ = Runner.runTestsWith (timeout 10_000 >> slowThreshold 500, [ testList ("My suite", [ ... ]) ])Reporters
Section titled “Reporters”All terminal output is produced by Reporters.console, an ordinary reporter with no special status. Register your own to export results elsewhere - for example JUnit XML for CI.
[<EntryPoint>]let main _ = Runner.runTests ([ Reporters.console; myReporter ], tests)See Reporters for the hooks, the run report, and a worked JUnit XML example.