Unit testing consists in writing tests to check the behavior of individual function, which can be removed at compile time once all tests succeed.
Alpha state, needs OCaml 3.10.2. A QuickCheck equivalent is provided by the Reins library but Kaputt is an attempt to have a single library for testing.
- assertion-based tests (inspired by the xUnit tools): the developer writes assertions by explicitly stating input and waited output values for the tested function;
- specification-based tests (inspired by the QuickCheck tool): the developer writes (using combinators) a specification of the tested function and asks the library to randomly generate tests cases.
- more combinators and predicates (e.g. over Map, Set, etc.);
- generalization of generator to accept other sources (e.g. streams).