Я пытаюсь написать тестовые примеры для программы python с behave, которая ожидает ввода от Stdin.Модульные тесты для интерактивной программы python с behave
Я призываю его в настоящее время, как это:
import my_script
@when('we run "{command}"')
def run(context, command):
args = command.split()[1:]
my_script.cli(args)
И myscript.cli
принимает арг и разбирает их argparse
, и в конечном итоге имеет линию, которая говорит `значение = raw_input («Сделать выбор»). Здесь ведущие тесты останавливаются и ждут ввода. Я хотел бы дать вклад в моих шагах, как это:
@when('we run "{command}" and enter "{text}"')
def run(context, command, text):
...
Я полагаю, я должен буду издеваться интерфейсом STDIN и сделать мой сценарий использования, что в тестовых случаях, но я не уверен, что большинство элегантный способ делать с с behave.