问题标签 [plunit]

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 回答
707 浏览

prolog - 如何解决 Prolog 中未定义的过程错误?

我在提供的计算机上编写了这段代码:

我正在尝试为我的家庭作业运行一个小测试用例,如下所示:

但是,每当我运行测试时,都会收到以下错误:

我已经尝试了很多次来解决这个问题,但我无法做到。

有什么建议么?

0 投票
1 回答
53 浏览

module - plunit test 显然在幕后创建了一个模块……但是可以卸载该模块吗?

我想使用在 SWI Prolog 中实现的plunit以经典风格运行一些单元测试!

所以我想直接在终端上输入它们:

然后复制粘贴:

这完美地工作。

...但是如果我再次通过加载测试[user].- 会有类似 Westworld 的体验:

似乎该实现plunit_X为 test创建了一个模块X。这就说得通了。

但是有没有办法卸载测试模块exercise

必须有...

请注意,您可以使用unload_file/1卸载文件,但不能卸载模块?

更新:

而不是使用输入代码[user].并使用 a[file]使其工作。唔。

0 投票
1 回答
59 浏览

prolog - 如何使用 PlUnit 改进错误报告?

我正在使用 SWI-Prolog 的PlUnit编写测试,并希望提供更好的错误消息,也许通过区分我所得到的和我所期望的。

以下最小工作示例(MWE)举例说明了我所追求的:

输出是:

与go-cmp类似的不同可能会呈现如下结果:

一目了然比较容易。

我找不到任何对一般 Prolog 术语执行此类检查的东西,更接近是list 之间编辑距离的示例。