我正在尝试为 python 程序编写测试用例,其行为需要来自 Stdin 的输入。
我目前像这样调用它:
import my_script
@when('we run "{command}"')
def run(context, command):
args = command.split()[1:]
my_script.cli(args)
并myscript.cli
接受 args 并用 解析它们argparse
,最终有一行写着 `value = raw_input("Make a choice")。这是行为测试停止并等待输入的地方。我想在我的步骤中提供如下输入:
@when('we run "{command}" and enter "{text}"')
def run(context, command, text):
...
我想我将不得不模拟一个标准输入接口并让我的脚本在测试用例中使用它,但我不确定使用行为最优雅的方法是什么。