Base_quickcheck provides simple tools for writing down invariants and testing that they hold for randomly-generated inputs.
The library comes with random distributions for types provided by Base, including Int63.t, Set.t, and Map.t. Its interfaces follow Base idioms such as sexp serialization and parameterization via first-class modules.
Use the [@@deriving quickcheck] syntax to automatically construct a random distribution for new types, or use the Generator module to build custom distributions of existing types.
Base_quickcheck supports, and automatically derives, Shrinker.t values that reduce failing inputs to a minimal value. This can help debug complex failures by eliminating “red herrings”.
See here for Base_quickcheck’s opam package file.
Documentation for the wrapper of Base_quickcheck exported as Core_kernel.Quickcheck can be found here.