package ounit2

  1. Overview
  2. Docs
OUnit testing framework

Install

Dune Dependency

Authors

Maintainers

Sources

ounit-2.2.6.tbz
sha256=0690fb1e0e90a18eed5c3566b3cc1825d98b0e8c7d51bb6b846c95c45a615913
sha512=d7cb36a1fe245d02afab606cd1ee755a178ee4cb18fbbfec1df32baa88fa90ef6c9a50d9fd5bde46c7fd9c481f2debe4bafac75c4e3bdfbdb63fc18b0ccce3cc

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: 10 Feb 2022

README

OUnit - xUnit testing framework for OCaml

Travis status" AppVeyor status"

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.

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

Conflicts

None

OCaml

Innovation. Community. Security.