Base_quickcheck.Test
Use the Test module to run randomized tests. Each randomized test needs a generator, a shrinker, and a property to test.
module type S = sig ... end
module Config : sig ... end
val default_config : Config.t
Defaults to a deterministic seed, shrink_count
and test_count
of 10_000 each, and sizes ranging from 0 to 30.
val run : f:('a -> Base.unit Base.Or_error.t) -> ?config:Config.t -> ?examples:'a Base.list -> (module S with type t = 'a) -> Base.unit Base.Or_error.t
Tests the property f
, failing if it raises or returns Error _
. Tests f
first with any examples
, then with values from the given generator. Only random values count toward the test_count
total, not values from examples
.
val run_exn : f:('a -> Base.unit) -> ?config:Config.t -> ?examples:'a Base.list -> (module S with type t = 'a) -> Base.unit
Like run
, but raises on failure.
val result : f:('a -> (Base.unit, 'e) Base.Result.t) -> ?config:Config.t -> ?examples:'a Base.list ->
(module S with type t = 'a) -> (Base.unit, 'a * 'e) Base.Result.t
Like run
, but does not catch exceptions raised by f
. Allows arbitrary error types and returns the input that failed along with the error.
val with_sample : f:('a Base.Sequence.t -> Base.unit Base.Or_error.t) -> ?config:Config.t -> ?examples:'a Base.list -> 'a Generator.t -> Base.unit Base.Or_error.t
Calls f
with the sequence of values that run
would get in the same configuration.
val with_sample_exn : f:('a Base.Sequence.t -> Base.unit) -> ?config:Config.t -> ?examples:'a Base.list -> 'a Generator.t -> Base.unit
Like with_sample
, but raises on failure.