测试答案集编程程序
pytest-asptest的Python项目详细描述
#asp test
[pytest](https://docs.pytest.org)测试asp源代码的插件。
asp,必须安装解算器。目前唯一一个被处理的是[clingo](https://github.com/potassco/potassco/clingo/releases)
来自[potassco实验室](https://potassco.org)。
/>简单的例子
让我们来考虑一下“dumbaasp.lp”,这是一个我们想要测试的asp代码:
``asp
``asp
p(1.3)。
q(x):p(x).
``````
我们想要在第二行测试规则。是的因此,我们将它放入一个块中(没有空行的连续行)
,并给它一个标记“rule-q”:
``asp
p(1..3)。
%test:rule-q
q(x):p(x)。
`````
%empty test:no input,无输出
%不可满足
%input
p(1)。
%output
q(1)。
%output
%q(2)。%这将导致错误:没有这样的答案集。
```
现在,我们可以再次运行asptest:
它将报告测试过程,指示哪些测试通过,哪些没有通过。
[makefile]中提供了更多示例,或者在[examples/](examples/)
如果要明确地给出给定答案集中必须出现的*所有*原子,
可以在测试文件中写入`%strict output`而不是`%output'。
在文件'queens.lp'中找到,
无需手动用它标记所有块。
\cli options
asptest向pytest添加一个选项:`--uid tests dir`,允许用户向asptest提供“test-*.lp”文件所在的目录。
例如,“pytest”。-vv--uid tests dir asp test`将允许您使用'asp test/`目录中的测试文件测试当前目录中的所有asp文件。
[pytest](https://docs.pytest.org)测试asp源代码的插件。
asp,必须安装解算器。目前唯一一个被处理的是[clingo](https://github.com/potassco/potassco/clingo/releases)
来自[potassco实验室](https://potassco.org)。
/>简单的例子
让我们来考虑一下“dumbaasp.lp”,这是一个我们想要测试的asp代码:
``asp
``asp
p(1.3)。
q(x):p(x).
``````
我们想要在第二行测试规则。是的因此,我们将它放入一个块中(没有空行的连续行)
,并给它一个标记“rule-q”:
``asp
p(1..3)。
%test:rule-q
q(x):p(x)。
`````
%empty test:no input,无输出
%不可满足
%input
p(1)。
%output
q(1)。
%output
%q(2)。%这将导致错误:没有这样的答案集。
```
现在,我们可以再次运行asptest:
它将报告测试过程,指示哪些测试通过,哪些没有通过。
[makefile]中提供了更多示例,或者在[examples/](examples/)
如果要明确地给出给定答案集中必须出现的*所有*原子,
可以在测试文件中写入`%strict output`而不是`%output'。
在文件'queens.lp'中找到,
无需手动用它标记所有块。
\cli options
asptest向pytest添加一个选项:`--uid tests dir`,允许用户向asptest提供“test-*.lp”文件所在的目录。
例如,“pytest”。-vv--uid tests dir asp test`将允许您使用'asp test/`目录中的测试文件测试当前目录中的所有asp文件。