Legend:
Library
Module
Module type
Parameter
Class
Class type
A lightweight and colourful test framework.
Alcotest provides a simple interface to perform unit tests. It exposes a simple TESTABLE module type, a check function to assert test predicates and a run function to perform a list of unit -> unit test callbacks.
From these descriptions, Alcotest builds a quiet and colorful output where only faulty runs are fully displayed at the end of the run (with the full logs ready to inspect).
The return type of each test case run by Alcotest. For the standard Alcotest module, return = unit. The concurrent backends Alcotest_lwt and Alcotest_async set return = unit Lwt.t and return = Async_kernel.Deferred.t respectively.
type speed_level = [
| `Quick
| `Slow
]
Speed level of a test. Tests marked as `Quick are always run. Tests marked as `Slow are skipped when the `-q` flag is passed.
A test case is a 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).
run n t runs the test suite t. n 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 command line arguments sent to alcotest like "--json", "--verbose", etc. Note that this array will be treated like a regular Sys.argv, so the array must have at least one element, and the first element will be treated as if it was the command name and thus ignored for the purposes of option processing. So ~argv:[||] is an error, ~argv:[| "--verbose" |] will have no effect, and ~argv:[| "ignored"; "--verbose" |] will successfully pass the verbose option.
val run_with_args :
(?argv:string array->string ->'aCmdliner.Term.t->'atest list->return)with_options
run_with_args n a t Similar to run a t but take an extra argument a. Every test function will receive as argument the evaluation of the Cdmliner term a: this is useful to configure the test behaviors using the CLI.
neg t is t's negation: it is true when t is false and it is false when t is true.
val check_raises : string ->exn ->(unit -> unit)-> unit
Check that an exception is raised.
Unix-specific engine constructors
The Alcotest_engine package provides the most general form of the Alcotest API, parameterised over the thread implementation and the platform. This package provides the Unix platform implementation.