2
私は、click
ライブラリを使用してPythonでコマンドラインアプリケーション用のユニットテストケースを作成しています。Python - コマンドライン関数からの入力プロンプトのためのコマンドラインユニットのテストケースをクリックしてください
私は例の下にしようと、これは正常に動作している:
def test_hello_world():
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello %s!' % name)
runner = CliRunner()
result = runner.invoke(hello, ['Yash'])
assert result.exit_code == 0
assert result.output == 'Hello Yash!\n'
しかし、今、私は私の関数からの入力プロンプトにしたいです。
def test_name_prompt(self):
@click.command()
@click.option('-name', default=False)
def username():
fname = click.prompt("What's your first name?")
lname = click.prompt("what's your last name?")
click.echo("%s %s" % (fname, lname))
runner = CliRunner()
result = runner.invoke(username, ['-name'])
assert result.exit_code == 0
assert result.output == 'Yash Lodha'