package qcheck-ounit

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module QCheck_ounitSource

Conversion of tests to OUnit Tests

  • since 0.9
Sourceval to_ounit_test : ?verbose:bool -> ?long:bool -> ?rand:Stdlib.Random.State.t -> QCheck2.Test.t -> OUnit.test

to_ounit_test ~rand t wraps t into a OUnit test

  • parameter verbose

    used to print information on stdout (default: verbose())

  • parameter rand

    the random generator to use (default: random_state ())

Sourceval to_ounit_test_cell : ?verbose:bool -> ?long:bool -> ?rand:Stdlib.Random.State.t -> _ QCheck2.Test.cell -> OUnit.test

Same as to_ounit_test but with a polymorphic test cell

Sourceval (>:::) : string -> QCheck2.Test.t list -> OUnit.test

Same as OUnit.(>:::) but with a list of QCheck2 tests

Sourceval to_ounit2_test : ?rand:Stdlib.Random.State.t -> QCheck2.Test.t -> OUnit2.test

to_ounit2_test ?rand t wraps t into a OUnit2 test

  • parameter rand

    the random generator to use (default: a static seed for reproducibility), can be overridden with "-seed" on the command-line

Sourceval to_ounit2_test_list : ?rand:Stdlib.Random.State.t -> QCheck2.Test.t list -> OUnit2.test list

to_ounit2_test_list ?rand t like to_ounit2_test but for a list of tests

OUnit runners

QCheck provides some custom runners for OUnit tests.

Note that OUnit.run_test_tt or OUnit.run_test_tt_main can be used as well, in particular when QCheck tests are mixed with normal unit tests.

For OUnit2 you can use OUnit2.run_test_tt_main.

Sourceval run : ?argv:string array -> OUnit.test -> int

run test runs the test, and returns an error code that is 0 if all tests passed, 1 otherwise. This is the default runner used by the comment-to-test generator.

  • parameter argv

    the command line arguments to parse parameters from (default Sys.argv)

  • raises Arg.Bad

    in case argv contains unknown arguments

  • raises Arg.Help

    in case argv contains "--help"

This test runner displays execution in a compact way, making it good for suites that have lots of tests.

Output example:

random seed: 101121210
random seed: 101121210
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Error: tests>error_raise_exn

test `error_raise_exn` raised exception `QCheck_ounit_test.Error`
on `0 (after 62 shrink steps)`
Raised at file "example/QCheck_ounit_test.ml", line 19, characters 20-25
Called from file "src/QCheck.ml", line 846, characters 13-33

///////////////////////////////////////////////////////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Failure: tests>fail_sort_id

fail_sort_id
///////////////////////////////////////////////////////////////////////////////
Ran: 4 tests in: 0.74 seconds.
WARNING! SOME TESTS ARE NEITHER SUCCESSES NOR FAILURES!

TAP-compatible test runner, in case we want to use a test harness. It prints one line per test.

OCaml

Innovation. Community. Security.