I am working on writing unit test cases for a command line application in python using click
library.
I tried below example and this is working fine:
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'
But now I want to input prompt from my function.
like this:
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'
Aucun commentaire:
Enregistrer un commentaire