package ounit2
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=90f6e63bd1240a51d8b9b2f722059bd79ce00b5276bdd6238b8f5c613c0e7388
sha512=53463e5b1b5a40f424e19f5f6a86338a544079600d1fd121ffc1a6fcaa239630194018faf91ccf360ba40b1b2a8b01cf491935e014c68d2947f6e027a2f0a0f9
doc/ounit2/OUnit/index.html
Module OUnit
Source
Unit test building blocks
Assertions
Assertions are the basic building blocks of unittests.
Signals a failure. This will raise an exception with the specified string.
Signals a failure when bool is false. The string identifies the failure.
Shorthand for assert_bool
Signals a failure when the string is non-empty. The string identifies the failure.
val assert_command :
?exit_code:Unix.process_status ->
?sinput:char Seq.t ->
?foutput:(char Seq.t -> unit) ->
?use_stderr:bool ->
?env:string array ->
?verbose:bool ->
string ->
string list ->
unit
assert_command prg args
Run the command provided.
val assert_equal :
?cmp:('a -> 'a -> bool) ->
?printer:('a -> string) ->
?pp_diff:(Format.formatter -> ('a * 'a) -> unit) ->
?msg:string ->
'a ->
'a ->
unit
assert_equal expected real
Compares two values, when they are not equal a failure is signaled.
Asserts if the expected exception was raised.
Skipping tests
In certain condition test can be written but there is no point running it, because they are not significant (missing OS features for example). In this case this is not a failure nor a success. Following functions allow you to escape test, just as assertion but without the same error status.
A test skipped is counted as success. A test todo is counted as failure.
skip cond msg
If cond
is true, skip the test for the reason explain in msg
. For example skip_if (Sys.os_type = "Win32") "Test a doesn't run on windows"
.
The associated test is still to be done, for the reason given.
Compare Functions
Compare floats up to a given relative error.
Bracket
A bracket is a functional implementation of the commonly used setUp and tearDown feature in unittests. It can be used like this:
"MyTestCase" >:: (bracket test_set_up test_fun test_tear_down)
bracket set_up test tear_down
The set_up
function runs first, then the test
function runs and at the end tear_down
runs. The tear_down
function runs even if the test
failed and help to clean the environment.
val bracket_tmpfile :
?prefix:string ->
?suffix:string ->
?mode:open_flag list ->
((string * out_channel) -> unit) ->
unit ->
unit
bracket_tmpfile test
The test
function takes a temporary filename and matching output channel as arguments. The temporary file is created before the test and removed after the test.
Constructing Tests
The type of test function
The type of tests
Some shorthands which allows easy test construction.
Examples:
"test1" >: TestCase((fun _ -> ()))
=>TestLabel("test2", TestCase((fun _ -> ())))
"test2" >:: (fun _ -> ())
=>TestLabel("test2", TestCase((fun _ -> ())))
"test-suite" >::: ["test2" >:: (fun _ -> ());]
=>TestLabel("test-suite", TestSuite([TestLabel("test2", TestCase((fun _ -> ())))]))
test_decorate g tst
Apply g
to test function contains in tst
tree.
test_filter paths tst
Filter test based on their path string representation.
Retrieve Information from Tests
Types which represent the path of a test
Make a string from a path. The path will be reversed before it is translated into a string
Performing Tests
The possible results of a test
type test_event =
| EStart of path
(*A test start.
*)| EEnd of path
(*A test end.
*)| EResult of test_result
(*Result of a test.
*)
Events which occur during a test run.
Results of a test run.
Perform the test, allows you to build your own test runner
A simple text based test runner.
val run_test_tt_main :
?arg_specs:(Arg.key * Arg.spec * Arg.doc) list ->
?set_verbose:(bool -> unit) ->
test ->
test_results
Main version of the text based test runner. It reads the supplied command line arguments to set the verbose level and limit the number of test to run.