Я пытаюсь проверить возвращаемое значение result_callback моего командного интерфейса. В приведенном ниже коде я могу проверить стандартный вывод, но хочу, чтобы возвращалось фактическое значение.
Кто-нибудь знает, как получить выходное значение result_callback при тестировании?
import click
from click.testing import CliRunner
@click.group()
def main():
pass
@main.command()
@click.argument("name")
def hello(name):
return name
@main.result_callback()
def process_result(result):
result = "".join(reversed(result))
click.echo(f"Hello {result}!")
return result
def test_hello_world():
runner = CliRunner()
observed = runner.invoke(main, ["hello", "Peter"])
assert observed.exit_code == 0
assert observed.output == "Hello reteP!\n"
# assert observed.callback_value == "reteP" # how to do this???
Подробнее здесь: https://stackoverflow.com/questions/788 ... -click-cli