我如何为此Prolog规则编写测试?
rule(5,jasmine_tea):- symptom(high_cholesterol),symptom(delicate_fragrance).
高绩效标记 - 这就是我所拥有的。
FACTS:
question('Do you suffer from anxiety?',anxiety).
symptom(anxiety).
reply(chamomile_tea,'Drink 3 cups of Chamomile tea everyday for a week.').
RULES:
rule(1,chamomile_tea):- symptom(anxiety),symptom(no_sleep).
希望能让事情变得更加清晰。
答案 0 :(得分:0)
您可以使用多种单元测试工具。在SWI-Prolog中,你有" plunit":
http://www.swi-prolog.org/pldoc/doc_for?object=section('packages/plunit.html')
Logtalk为您提供了一个替代(和便携)工具,可以与SWI-Prolog和其他Prolog系统一起使用:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/tools/lgtunit/NOTES.md
在这两种情况下,都有丰富的文档和关于如何编写单元测试的示例。简而言之,您指定了测试目标和预期结果(预期绑定,失败,错误和预期异常项的成功)。您还可以(隐式或显式)指定测试运行的环境(例如,设置和清理目标或数据库内容)。