0

私は最初の Ocaml+OUnit2+Dune プロジェクトを書いています。しかし、私の単体テストでは、Mymapsを開くと言うと、「Unbound module Mymaps」と表示されます

私のプロジェクトの構造は次のとおりです

mymaps
  |
  |-> lib
       |-> dune
       |-> mymaps.mli
       |-> mymaps.ml
  |-> test
       |->mymaps_test.ml
       |-> dune
  |->dune-project
  |->mymaps.opam

mymaps_test.ml の内容

open OUnit2
open Mymaps
let empty_test = "empty has no bindings" >:: (fun _ -> assert_equal [] (empty))
let mymap_tests = [empty_test]
let suite = "maps suite" >::: mymap_tests
let _ = run_test_tt_main suite

mymaps.mli の内容

type ('k, 'v) t
val empty : ('k, 'v) t
val insert : 'k -> 'v -> ('k, 'v) t -> ('k, 'v) t

mymaps.ml の内容

type ('k, 'v) t = ('k * 'v) list
let rec insert k v m = match m with 
  | [] -> [(k, v)]
  | (eK, eV) :: tl -> let (nK, nV) = if (eK = k) then (k, v) else (eK, eV) in 
                        (nK, nV) :: insert k v tl
let empty = []

テスト/砂丘ファイルの内容

(test
 (name mymaps_test)
 (libraries ounit2))

lib/dune ファイルの内容

(library
 (public_name mymaps)
 (name mymaps))

ここにGithubへのリンクがあります https://github.com/abhsrivastava/mymaps.git

テストでモジュールを開くことができない理由を教えてください。Unbound module Mymaps と表示されているのはなぜですか。(小文字の mymaps と MyMaps も試しましたが、表示されません)。

4

1 に答える 1