Overview
Scriptorium.Quill is the test runner for the Scriptorium family.
It provides a DSL for defining sync and async tests, a focus / pending / skip system, per-test configuration, and a pretty-printer that renders results with colour, indentation, and clickable source links in terminal output.
Scriptorium.Quill aims to support all F#/Fable runtimes:
| Runtime | Supports |
|---|---|
| .NET | ✅ |
| JavaScript | ✅ |
| Python | ✅ |
| Rust | 🚧 |
Installation
Section titled “Installation”dotnet add package Scriptorium.QuillScriptorium.Quill depends on Scriptorium.Ink, Scriptorium.Parchment, and Scriptorium.Nib. A single package reference covers the full stack.
Quick start
Section titled “Quick start”-
Set up your tests
open Scriptorium.Nib.Assertionopen type Scriptorium.Quill.Testopen type Scriptorium.Quill.Runner[<EntryPoint>]let main _ =runTests [testList ("My suite", [test ("basic equality", fun _ ->assertThat 42 (isEqualTo 42))testAsync ("async operation", fun _ -> async {let! result = computeAsync ()assertThat result (isEqualTo 42)})// ...])] -
Use the corresponding command based on your runtime:
Runtime Command .NET dotnet runJavaScript dotnet fable --runScriptPython dotnet fable --lang py --runScript -
You should see an output looking like that
