OUnit2 未绑定模块
OUnit2 Unbound Module
我正在编写我的第一个 Ocaml+OUnit2+Dune 项目。但是在我的单元测试中,当我说打开 Mymaps 时,它说“未绑定模块 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/dune 文件的内容
(test
(name mymaps_test)
(libraries ounit2))
lib/dune 文件的内容
(library
(public_name mymaps)
(name mymaps))
这里是link到Githubhttps://github.com/abhsrivastava/mymaps.git
请告诉我为什么我的测试无法打开模块。为什么说未绑定模块 Mymaps。 (我也试过小写的mymaps,MyMaps,就是看不到)
您需要在测试项目的 libraries
节中列出 mymaps
,就像您在工作区中处理任何其他项目一样。没有其他信息表明这是您要测试的库。
(test
(name mymaps_test)
(libraries mymaps ounit2))
我正在编写我的第一个 Ocaml+OUnit2+Dune 项目。但是在我的单元测试中,当我说打开 Mymaps 时,它说“未绑定模块 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/dune 文件的内容
(test
(name mymaps_test)
(libraries ounit2))
lib/dune 文件的内容
(library
(public_name mymaps)
(name mymaps))
这里是link到Githubhttps://github.com/abhsrivastava/mymaps.git
请告诉我为什么我的测试无法打开模块。为什么说未绑定模块 Mymaps。 (我也试过小写的mymaps,MyMaps,就是看不到)
您需要在测试项目的 libraries
节中列出 mymaps
,就像您在工作区中处理任何其他项目一样。没有其他信息表明这是您要测试的库。
(test
(name mymaps_test)
(libraries mymaps ounit2))