alcotestversion

Logo](https://raw.githubusercontent.com/mirage/alcotest/master/alcotest-logo.png)

Alcotest is a lightweight and colourful test framework.

Alcotest exposes 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.

Alcotest provides 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), with a simple (yet expressive) query language to select the tests to run.

Build Status docs

Examples

A simple example:

(* Build with `ocamlbuild -pkg alcotest simple.byte` *)

(* A module with functions to test *)
module To_test = struct
  let capit letter = Char.uppercase letter
  let plus int_list = List.fold_left (fun a b -> a + b) 0 int_list
end

(* The tests *)
let capit () =
  Alcotest.(check char) "same chars"  'A' (To_test.capit 'a')

let plus () =
  Alcotest.(check int) "same ints" 7 (To_test.plus [1;1;2;3])

let test_set = [
  "Capitalize" , `Quick, capit;
  "Add entries", `Slow , plus ;
]

(* Run it *)
let () =
  Alcotest.run "My first test" [
    "test_set", test_set;
  ]

The result is a self-contained binary which displays the test results. Use ./simple.byte --help to see the runtime options.

$ ./simple.native
[OK]        test_set  0   Capitalize.
[OK]        test_set  1   Add entries.
Test Successful in 0.001s. 2 tests run.

See the examples folder for more examples.

AuthorThomas Gazagnaire
LicenseISC
Published
Homepagehttps://github.com/mirage/alcotest/
Issue Trackerhttps://github.com/mirage/alcotest/issues/
Maintainerthomas@gazagnaire.org
Dependencies
Source [http] https://github.com/mirage/alcotest/releases/download/0.8.1/alcotest-0.8.1.tbz
sha256=e9bcb4fd9462b94430a850ca65bab0350354f88ad068dfee9172f72f0ae0f46e
md5=8b8d9f8c9e8c0b34c12e20e24db8dec3
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/alcotest/alcotest.0.8.1/opam
Required by