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.