Использовать модуль 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 утилита, которая инкапсулирует поиск установленных библиотек Вы также можете избежать составления вызова компилятора самостоятельно и использовать инструмент сборки.

Другие вопросы по тегам