Library
Module
Module type
Parameter
Class
Class type
A lightweight and colourful test framework.
type test_case = string * speed_level * (unit -> unit)
A test case is an UTF-8 encoded documentation string, a speed level and a function to execute.
type test = string * test_case list
A test is an US-ASCII encoded name and a list of test cases.
The exception return by run
in case of errors.
val run : ?and_exit:bool -> ?argv:string array -> string -> test list -> unit
run n t
runs the test suite t
. n
is is the name of the tested library. The optional argument and_exit
controls what happens when the function ends. By default, and_exit
is set, which makes the function exit with 0
if everything is fine or 1
if there is an issue. If and_exit
is false
, then the function raises Test_error
on error. The optional argument argv
specifies the argument sent to alcotest like "--json"
, "--verbose"
, etc. (at least one argument is required).
module type TESTABLE = sig ... end
val bool : bool testable
bool
tests booleans.
val int : int testable
int
tests integers.
val char : char testable
char
tests characters.
val string : string testable
string
tests OCaml strings.
slist t comp
tests sorted lists of t
s. The list are sorted using comp
.
val result : 'a testable -> 'e testable -> ('a, 'e) Result.result testable
result t e
tests t
s on success and e
s on failure.
val of_pp : (Format.formatter -> 'a -> unit) -> 'a testable
of_pp pp
tests values which can be printed using pp
and compared using Pervasives.compare
val pass : 'a testable
pass
tests values of any type and always succeeds.
val reject : 'a testable
reject
tests values of any type and always fails.
val check : 'a testable -> string -> 'a -> 'a -> unit
Check that two values are equal.
val line : Pervasives.out_channel -> ?color:[ `Blue | `Yellow ] -> char -> unit
@