[英]OCaml - testing functions not included in the signature
我正在为OCaml模块编写测试。 该模块中的某些功能并不意味着是公开可见的,因此它们不包含在签名(.mli文件)中。
我无法从测试中调用这些函数,因为它们在模块外部不可见。 所以我很难测试它们。 有没有解决这个问题的好方法? 例如,一种告诉ocamlc
在编译测试时不要从.mli文件读取签名的方法吗?
一些想法:
我听说人们有时会将他们的.mli文件与他们的.ml文件分开(在另一个目录中),以便他们可以在有或没有它们的情况下进行编译(通过告诉ocamlc是否在单独的目录中查找)。 我只是尝试了一些实验。 我认为可以使它正常工作,但是我似乎容易出错。 也许您可以将内部功能的测试放入模块中。 导出测试功能可能不会严重违反模块化。 (当然,它会使模块混乱。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.