package ounit2

  1. Overview
  2. Docs
OUnit testing framework

Install

Dune Dependency

Authors

Maintainers

Sources

ounit-v2.2.3.tbz
sha256=e280a64aa7df64bd7335c9ed68a70d6ee168b39ae8bbfb6daedd2f4a04844ad9
sha512=dff04859d263e5f80a1606156d07493d0320a2756d0a7f134c63c53078550c7b056587486922bc66a288413af30c59a7e47157636502c6dd10626cf75587f981

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: 12 Jul 2020

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. base-unix
  3. base-bytes
  4. dune >= "1.11.0"
  5. ocaml >= "4.04.0" & < "5.0"

Dev Dependencies

None

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

Conflicts

None

OCaml

Innovation. Community. Security.