0

我将如何为此 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).

希望这能让事情变得更清楚一些。

4

1 回答 1

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

在这两种情况下,都有大量关于如何编写单元测试的文档和示例。简而言之,您指定测试目标和预期结果(成功与预期绑定、失败、错误和预期异常项)。您还可以(隐式或显式)指定测试运行的环境(例如设置和清理目标或数据库内容)。

于 2015-02-26T18:34:48.180 回答