13

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

我现在要做的是测试我的点击应用程序。我正在阅读文档,但不知道如何运行测试。

有没有人有测试点击应用程序的经验?

4

2 回答 2

12

将下面的代码放入test_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_greet.py退货

.
----------------------------------------------------------------------
Ran 1 test in 0.002s

OK
于 2014-11-05T22:19:15.977 回答
1

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'
于 2018-02-08T03:48:06.607 回答