package alcotest

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A lightweight and colourful test framework.

type speed_level = [
  1. | `Quick
  2. | `Slow
]

Speed level for a test.

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.

exception Test_error

The exception return by run in case of errors.

val run : ?and_exit:bool -> 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 then the function raises Test_error on error.

Display

val line : Pervasives.out_channel -> ?color:[ `Blue | `Yellow ] -> char -> unit

Draw a line on the given channel

Assert functions

module type TESTABLE = sig ... end
type 'a testable = (module TESTABLE with type t = 'a)
val int : int testable
val char : char testable
val string : string testable
val list : 'a testable -> 'a list testable
val option : 'a testable -> 'a option testable
val check : 'a testable -> string -> 'a -> 'a -> unit

Check that two values are equal.

val fail : string -> 'a

Simply fail.

val check_raises : string -> exn -> (unit -> unit) -> unit

Check that an exception is raised.

OCaml

Innovation. Community. Security.