Std.Test
Test framework with assertions, grouping, and focused/skipped test support.
Types
TestMode
type TestMode =
| Normal
| OnlyMode
| SkipModeTestResult
record TestResult {
passed: Int,
failed: Int,
skipped: Int
}Effects
Test
effect Test {
fun assert : (ok: Bool) -> (msg: String) -> Unit
}Effect for assertions inside a single test body.
Testing
effect Testing {
fun register_test : (name: String) -> (mode: TestMode) -> (body: Unit -> Unit needs {Test}) -> Unit
fun enter_group : (name: String) -> Unit
fun leave_group : Unit -> Unit
}Effect for defining tests and groups during collection.
Functions
test
fun test : (name: String) -> (body: Unit -> Unit needs {Test}) -> Unit needs {Testing}only
fun only : (name: String) -> (body: Unit -> Unit needs {Test}) -> Unit needs {Testing}skip
fun skip : (name: String) -> (body: Unit -> Unit needs {Test}) -> Unit needs {Testing}describe
fun describe : (name: String) -> (body: Unit -> Unit needs {Testing, ..e}) -> Unit needs {Testing, ..e}run_modules
fun run_modules : List (String, Unit -> Unit needs {Testing}) -> Unitassert_eq
fun assert_eq : (a: x) -> (b: x) -> Unit needs {Test} where {x: Debug + Eq}assert_neq
fun assert_neq : (a: x) -> (b: x) -> Unit needs {Test} where {x: Debug + Eq}assert_gt
fun assert_gt : a -> a -> Unit needs {Test} where {a: Debug + Ord}assert_lt
fun assert_lt : (a: x) -> (b: x) -> Unit needs {Test} where {x: Debug + Ord}assert_true
fun assert_true : Bool -> Unit needs {Test}assert_false
fun assert_false : Bool -> Unit needs {Test}assert_just
fun assert_just : Maybe a -> Unit needs {Test} where {a: Debug}assert_nothing
fun assert_nothing : Maybe a -> Unit needs {Test}assert_ok
fun assert_ok : Result a b -> Unit needs {Test} where {b: Debug}assert_err
fun assert_err : Result a b -> Unit needs {Test} where {a: Debug}assert_panics
fun assert_panics : (f: Unit -> a) -> Unit needs {Test}