问题标签 [ounit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2443 浏览

unit-testing - 在 OCaml 中使用 OUnit 模块 - 未绑定模块 OUnit 错误

我正在尝试将 OUnit 与 OCaml 一起使用。

单元代码源码(unit.ml)如下:

使用ocamlc unit.ml,我收到一条错误消息Error: Unbound module OUnit。为什么是这样?如何在 OCaml 中使用 OUnit。我用opam.

0 投票
2 回答
564 浏览

ocaml - 如何使用 OUnit 为测试设置超时?

我对无限惰性结构进行了一些测试,如果测试的函数没有正确实现,这些结构可能会无限期地运行,但是我在 OUnit 文档中找不到如何设置测试超时。

0 投票
2 回答
867 浏览

ocaml - 模块案例名称混淆

我犯了更新软件的错误,现在我无法运行任何 OUnit 测试。

我想我已经设法将问题归结为一个简单的 REPL 会话。

任何想法我做错了什么?

我在 Mac 笔记本电脑上运行它,它具有默认的不区分大小写/保留大小写的文件系统,但是使用包含路径的大小写并没有帮助。


我更大的问题是这样表现的:

0 投票
2 回答
727 浏览

makefile - ocamlbuild 和 OUnit

我有一个结构如下的项目:

Makefile这样的:

运行make tests(构建后main.byte)返回此错误:

显示ocamlbuild无法链接到main.byte. tests外观的规则应该是Makefile怎样的?

0 投票
1 回答
578 浏览

ocaml - OUnit.assert_equal 的字符串差异漂亮打印机

OUnit.assert_equal ~pp_diff允许漂亮地打印预期/实际值差异,并且OUnitDiff似乎为集合提供了不同。

是否有pp_diff字符串值的库存?理想情况下,尽最大努力将差异扩展到最接近的 UTF-8 序列边界。

即使是常见的前缀/后缀消除也总比没有好。

0 投票
0 回答
149 浏览

ocaml - 如何将 ocaml ounit 测试配置为不并发?

目前我有以下运行我的单元测试:

问题是,test_1 和 test_2 涉及一些 TCP 通信,并且有共享端口。我需要它们按顺序运行,我不在乎什么顺序。

编辑:可以指定命令行参数以按顺序运行它们

但是如何在源代码中将此选项设置为默认选项?

0 投票
1 回答
194 浏览

unit-testing - 使用 pa_ounit 对 OCaml 模块进行单元测试

我有一个简单的模块来测试一些内联 pa_ounit 测试,我已经以 oasis 样式设置了目录并构建了它。

对于我一直在使用的参考:https ://github.com/janestreet/textutils

将如何执行上述 repo 的单元测试?我假设有一个可执行的 .ml 文件要编写,但其中有什么,它是如何构建的,它是否以任何方式扩展了模块级别描述的测试?

我已经阅读了 pa_ounit 的文档,它们只是让我更加困惑哈。

0 投票
2 回答
450 浏览

ocaml - 将 ocamlfind 与本地目录一起使用

由于我在工作站上没有 root 访问权限,因此我在本地将 oUnit 安装到 ~/ounit 中。如果我运行,我可以在解释器中加载模块

现在我想运行测试,所以我尝试编译它:

不幸的是,ocamlfind 没有检测到 oUnit 包

我究竟做错了什么?

0 投票
1 回答
193 浏览

ocaml - oUnit 中是否使用了`test_ctxt`

我正在玩 oUnit2 并且我想知道:该test_ctxt参数是否有任何用法,如下所示:

对我来说似乎是多余的。在将测试定义为变量时有什么方法可以省略它?

0 投票
0 回答
45 浏览

ocaml - 以编程方式处理 oUnit 中的长测试套件

我的测试套件看起来像这样

有什么办法可以减少我的测试套件的粗糙度?(使用一些 for 循环,无论如何)