Использовать модуль OUnit в OCaml - ошибка несвязанного модуля OUnit
Я пытаюсь использовать OUnit с OCaml.
Источник кода модуля (unit.ml) выглядит следующим образом:
open OUnit
let empty_list = []
let list_a = [1;2;3]
let test_list_length _ =
assert_equal 1 (List.length empty_list);
assert_equal 3 (List.length list_a)
(* etc, etc *)
let test_list_append _ =
let list_b = List.append empty_list [1;2;3] in
assert_equal list_b list_a
let suite = "OUnit Example" >::: ["test_list_length" >:: test_list_length;
"test_list_append" >:: test_list_append]
let _ =
run_test_tt_main suite
С ocamlc unit.ml
Я получил сообщение об ошибке Error: Unbound module OUnit
, Почему это? Как я могу использовать OUnit в OCaml. Я установил OUnit с opam
,
1 ответ
Решение
Вы должны использовать, например:
ocamlfind ocamlc -package oUnit -linkpkg -o unit unit.ml
ocamlfind
утилита, которая инкапсулирует поиск установленных библиотек Вы также можете избежать составления вызова компилятора самостоятельно и использовать инструмент сборки.