测试python应用程序

测试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.

click是一个python包,用于为应用程序创建漂亮的命令行接口。我一直在玩click,今天在github上推出了这个罗马数字转换器

我现在想做的是测试我的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添加源吗?完成这个例子?