Library
Module
Module type
Parameter
Class
Class type
Alcotest_lwt
enables testing functions which return an Lwt promise. run
returns a promise that runs the tests when scheduled, catching any asynchronous exceptions thrown by the tests.
include Alcotest.Core.S with type return = unit Lwt.t
Speed level of a test. Tests marked as `Quick
are always run. Tests marked as `Slow
are skipped when the `-q` flag is passed.
type 'a test_case = string * speed_level * ('a -> return)
A test case is an UTF-8 encoded documentation string, a speed level and a function to execute. Typically, the testing function calls the helper functions provided below (such as check
and fail
).
The exception return by run
in case of errors.
type 'a test = string * 'a test_case list
A test is an US-ASCII encoded name and a list of test cases. The name can be used for filtering which tests to run on the CLI
type 'a with_options =
?and_exit:bool ->
?verbose:bool ->
?compact:bool ->
?tail_errors:[ `Unlimited | `Limit of int ] ->
?quick_only:bool ->
?show_errors:bool ->
?json:bool ->
?filter:(Re.re option * Alcotest.Core.IntSet.t option) ->
?log_dir:string ->
'a
The various options taken by the tests runners run
and run_with_args
:
and_exit
(default true
). Once the tests have completed, exit with return code 0
if all tests passed, otherwise 1
.verbose
(default false
). Display the test std.out and std.err (rather than redirecting to a log file).compact
(default false
). Compact the output of the tests.tail_errors
(default unlimited). Show only the last N lines of output of failed tests.quick_only
(default false
). Don't run tests with the `Slow
speed level.show_errors
(default false
). Display the test errors.json
(default false
). Print test results in a JSON-compatible format.log_dir
(default "$PWD/_build/_tests/"). The directory in which to log the output of the tests (if verbose
is not set).val run : (string -> unit test list -> return) with_options
val run_with_args : (string -> 'a -> 'a test list -> return) with_options
val test_case :
string ->
Alcotest.speed_level ->
(Lwt_switch.t -> 'a -> unit Lwt.t) ->
'a test_case
val test_case_sync :
string ->
Alcotest.speed_level ->
('a -> unit) ->
'a test_case