package ounit2

  1. Overview
  2. Docs
OUnit testing framework

Install

Dune Dependency

Authors

Maintainers

Sources

ounit-2.2.7.tbz
sha256=90f6e63bd1240a51d8b9b2f722059bd79ce00b5276bdd6238b8f5c613c0e7388
sha512=53463e5b1b5a40f424e19f5f6a86338a544079600d1fd121ffc1a6fcaa239630194018faf91ccf360ba40b1b2a8b01cf491935e014c68d2947f6e027a2f0a0f9

Description

OUnit is a unit test framework for OCaml. It allows one to easily create unit-tests for OCaml code. It is loosely based on [HUnit], a unit testing framework for Haskell. It is similar to [JUnit], and other XUnit testing frameworks.

Published: 24 Mar 2023

README

OUnit - xUnit testing framework for OCaml

OUnit is a unit test framework for OCaml. It allows one to easily create unit-tests for OCaml code. It is loosely based on HUnit, a unit testing framework for Haskell. It is similar to JUnit, and other XUnit testing frameworks.

Features:

  • colored output

  • JUnit report generation

  • HTML report generation

Installation

The recommended way to install ounit is via the opam package manager:

$ opam install ounit2

Documentation

API documentation is available online.

Examples

Transition to ounit2

In the past OUnit used the ocamlfind package name "oUnit". It is uncommon to use uppercase letters in ocamlfind package name. It caused some problems during the transition to "dune". It was also not the same name as the OPAM package. As of version 2.2, the opam package ounit and the ocamlfind package oUnit are renamed to ounit2 (the same for both the ocamlfind and opam packages).

To do the transition for your own tests:

  • in OPAM, the library should now depends on "ounit2" or "ounit2-lwt"

  • in dune files/OASIS/Makefile/pkg.ml replace "oUnit" by "ounit2" and "ounit-lwt" to "ounit2-lwt".

We will keep OPAM packages "ounit"/"ounit-lwt" for the transition.

Dependencies (5)

  1. stdlib-shims
  2. seq
  3. base-unix
  4. ocaml >= "4.04.0"
  5. dune >= "3.0"

Dev Dependencies (1)

  1. odoc with-doc

  1. 0install >= "2.17"
  2. 0install-gtk >= "2.17"
  3. 0install-solver
  4. abella >= "2.0.8"
  5. arg-complete
  6. beluga >= "1.1"
  7. binsec >= "0.4.0"
  8. bisect_ppx >= "2.0.0" & < "2.6.0"
  9. bitgenerators
  10. caldav >= "0.2.3"
  11. camlp5 >= "8.00~alpha04" & < "8.00" | >= "8.00.05"
  12. camlrack
  13. capnp >= "3.6.0"
  14. charset
  15. cll
  16. clp_operations
  17. cobs
  18. colibri2
  19. conjury >= "2.0.1"
  20. containers = "3.8"
  21. coq-core < "8.19.0"
  22. crc >= "2.2.0"
  23. ctypes >= "0.21.1"
  24. ctypes-foreign >= "0.21.1"
  25. cudf >= "0.10"
  26. deadlock
  27. debian-formats >= "0.1.2"
  28. decoders-bencode >= "1.0.0"
  29. decoders-cbor >= "1.0.0"
  30. decoders-ezjsonm >= "1.0.0"
  31. decoders-jsonaf
  32. decoders-jsonm >= "1.0.0"
  33. decoders-msgpck >= "1.0.0"
  34. decoders-sexplib >= "1.0.0"
  35. decoders-yojson >= "1.0.0"
  36. devkit >= "1.20210120"
  37. dkml-c-probe >= "3.0.0"
  38. dtoa >= "0.3.3"
  39. dual
  40. edn >= "0.2.0"
  41. epictetus
  42. errpy
  43. extunix >= "0.3.1"
  44. fileutils >= "0.6.4"
  45. gapi-ocaml >= "0.4.3"
  46. gen >= "1.0"
  47. goblint >= "1.1.1"
  48. google-drive-ocamlfuse >= "0.7.29"
  49. inotify >= "2.4"
  50. inotify-eio
  51. iostream
  52. iostream-camlzip
  53. ipaddr >= "5.3.1"
  54. ipaddr-sexp >= "5.3.1"
  55. iter >= "1.6"
  56. jsonschema2atd
  57. jupyter >= "2.7.6"
  58. kind2
  59. lambdasoup >= "0.7.2"
  60. letsencrypt >= "1.0.0"
  61. leveldb >= "1.3.0"
  62. lz4 >= "1.2.0"
  63. macaddr >= "5.3.1"
  64. macaddr-sexp >= "5.3.1"
  65. markdown
  66. markup >= "1.0.0"
  67. mirage-block-ccm >= "1.1.0"
  68. mirage-block-unix >= "2.13.0"
  69. mirage-bootvar
  70. mirage-crypto >= "0.10.6"
  71. mirage-crypto-ec >= "1.0.0"
  72. mirage-crypto-pk >= "0.10.6"
  73. mirage-crypto-rng >= "0.10.6"
  74. mlbdd >= "0.7.2"
  75. mock-ounit >= "1.0.0"
  76. mustache = "3.2.0"
  77. mustache-cli
  78. mutaml
  79. mysql_protocol >= "3.0.1"
  80. ocolor >= "1.3.1"
  81. orsetto >= "1.0.3"
  82. otoml >= "0.9.2"
  83. ounit >= "2.2.7"
  84. ounit2-lwt >= "2.2.7"
  85. oxylc
  86. pa_ppx < "0.07"
  87. packstream
  88. parsite
  89. pcre2 >= "7.5.2"
  90. plato
  91. posix-getopt >= "2.0.0"
  92. ppx_camlrack
  93. ppx_const >= "2.0"
  94. ppx_deriving >= "5.2"
  95. ppx_deriving_protobuf >= "3.0.0"
  96. ppx_deriving_yojson >= "3.7.0"
  97. ppx_getenv >= "2.0"
  98. ppx_make
  99. ppx_pyformat
  100. ppx_viewpattern
  101. qcheck-ounit >= "0.14"
  102. qmp >= "0.19.0"
  103. qtest >= "2.11.1"
  104. re >= "1.12.0"
  105. redis >= "0.7"
  106. redis-lwt >= "0.5"
  107. redis-sync >= "0.5"
  108. rtree
  109. sd_logic
  110. sha >= "1.15.1"
  111. shared-block-ring >= "3.0.0"
  112. sifun
  113. starpath
  114. tar-mirage >= "2.0.0" & < "2.4.0"
  115. tiny_httpd >= "0.8" & < "0.13"
  116. tls >= "0.13.0"
  117. toml >= "7.0.0"
  118. toml_cconv >= "7.0.0"
  119. tuntap >= "2.0.1"
  120. uri >= "4.4.0"
  121. uri-re >= "4.4.0"
  122. uri-sexp >= "4.4.0"
  123. vchan >= "6.0.2"
  124. vec >= "0.2.0"
  125. vhd-format-lwt >= "0.12.3"
  126. vlq >= "0.2.1"
  127. xenstore >= "2.2.0"
  128. zarr
  129. zarr-eio
  130. zarr-lwt
  131. zarr-sync
  132. zmq >= "5.1.1"
  133. zmq-async >= "5.1.1"
  134. zmq-eio
  135. zmq-lwt >= "5.1.1"

Conflicts

None

OCaml

Innovation. Community. Security.