首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OUnit2无界模

OUnit2无界模
EN

Stack Overflow用户
提问于 2022-03-04 20:11:33
回答 1查看 253关注 0票数 0

我正在编写我的第一个Ocaml+OUnit2+Dune项目。但是在我的单元测试中,当我说打开Mymaps时,它说的是"Unbound模块Mymaps“。

我的项目结构如下

代码语言:javascript
复制
mymaps
  |
  |-> lib
       |-> dune
       |-> mymaps.mli
       |-> mymaps.ml
  |-> test
       |->mymaps_test.ml
       |-> dune
  |->dune-project
  |->mymaps.opam

mymaps_test.ml含量

代码语言:javascript
复制
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含量

代码语言:javascript
复制
type ('k, 'v) t
val empty : ('k, 'v) t
val insert : 'k -> 'v -> ('k, 'v) t -> ('k, 'v) t

mymaps.ml含量

代码语言:javascript
复制
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 = []

测试/沙丘文件的内容

代码语言:javascript
复制
(test
 (name mymaps_test)
 (libraries ounit2))

lib/沙丘文件的内容

代码语言:javascript
复制
(library
 (public_name mymaps)
 (name mymaps))

这是指向Github https://github.com/abhsrivastava/mymaps.git的链接

请告诉我为什么我的测试不能打开模块。为什么上面写的是未绑定模块Mymaps。(我还尝试了小写我的地图和mymaps,但它就是看不见)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-04 20:18:45

您需要在测试项目的mymaps节中列出libraries,就像对工作区中的任何其他项目一样。没有任何其他迹象表明这是您要测试的库。

代码语言:javascript
复制
(test
 (name mymaps_test)
 (libraries mymaps ounit2))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71356763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档