首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Logtalk测试返回在SWI解释器下通过时失败

Logtalk测试返回在SWI解释器下通过时失败
EN

Stack Overflow用户
提问于 2021-08-01 15:44:13
回答 1查看 37关注 0票数 0

我遇到一个问题,当我将特定测试放入测试套件并通过logtalk传递它时,特定的测试返回false,但是当我使用相同的后端编译器(SWI)通过解释器运行它时,返回true (这是所希望的行为)。下面是logtalk测试结果的相关部分,一个测试在学生目录中的快照,以及当我通过SWI解释器通过相同测试时的输出。

测试结果:

Tests.lgt中的测试用例:

通过swipl运行的结果:

如能提供任何协助,将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-01 16:10:00

另外,“发现的重复测试标识符”错误必须修复,以获得准确的测试结果。测试标识符必须是唯一的记录在案

你的问题中没有足够的信息来诊断这个问题。在测试定义中使用{}/1控件构造来包装测试目标意味着目标被称为原样。我的建议是,您可以在一个学生目录中看到问题,手动运行测试,然后在顶层调用测试目标。类似于:

代码语言:javascript
复制
$ cd student_id_xyz
$ swilgt
...
?- {tester}.
...
?- no_duplicates(..., ...).
...

在不重新启动的情况下执行这个,这样我们就可以保证两个测试(从测试文件中输入并在顶层输入)都具有相同的上下文。如果你得到同样的结果,请告诉我们。

我为您的学生评分任务建议的解决方案假设学生Prolog文件是普通 Prolog文件(即没有模块定义)。如果某些学生提交的情况并非如此,请尝试使用Prolog后端特定谓词(例如,tester.lgt )使用的logtalk_load/1谓词(为可移植性选择的)更改logtalk_load/1驱动程序文件中的学生Prolog文件的加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68611987

复制
相关文章

相似问题

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