测试python应用程序
click是一个python包,用于为应用程序创建漂亮的命令行接口。我一直在玩click,今天在github上推出了这个罗马数字转换器 我现在想做的是测试我的click应用程序。我正在阅读文档,但不知道如何运行测试测试python应用程序,python,python-click,Python,Python Click,click是一个python包,用于为应用程序创建漂亮的命令行接口。我一直在玩click,今天在github上推出了这个罗马数字转换器 我现在想做的是测试我的click应用程序。我正在阅读文档,但不知道如何运行测试 有人有过测试点击应用程序的经验吗?将下面的代码放入test\u greet.py: import click from click.testing import CliRunner def test_greet(): @click.command() @click.
有人有过测试点击应用程序的经验吗?将下面的代码放入
test\u greet.py
:
import click
from click.testing import CliRunner
def test_greet():
@click.command()
@click.argument('name')
def greet(name):
click.echo('Hello %s' % name)
runner = CliRunner()
result = runner.invoke(greet, ['Sam'])
assert result.output == 'Hello Sam\n'
if __name__ == '__main__':
test_greet()
如果仅使用python test_greet.py
调用,则测试通过,不显示任何内容。在测试框架中使用时,它会按预期执行。例如nosetests test\u greet.py
返回
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
pytest
具有断言的处理程序
要对现有脚本运行测试,必须“导入”
import click
from click.testing import CliRunner
from click_app import configure, cli
def test_command_configure():
runner = CliRunner()
result = runner.invoke(cli, ["configure"])
assert result.exit_code == 0
assert result.output == 'configure'
那么,在toroman.py中放置测试并运行它?我已经试过了,但没有成功。从文档中的章节来看,您可以将测试作为单独的脚本编写,使用
click.testing.CliRunner
,然后您只需运行与其他Python脚本相同的脚本即可运行测试。哪一部分令人困惑?你被困在哪里了?是的,但是当我运行包含测试的python文件时,我没有得到任何输出来告诉我它们是通过了还是失败了。好的,然后向我们展示一个简单的单击应用程序和CliRunner
测试示例,以及你是如何运行它们的,不要让我们猜测你所做的和你可能不了解的部分。这个示例函数如嵌入在测试框架中,如“代码>鼻涕/CODE >或<代码> PyTest< /Cord>。这只是一个微小的内嵌函数的例子。我如何测试一个使用点击?的脚本?你会考虑为CLIKYAPAP.PY添加源吗?完成这个例子?