Stdin からの入力を期待する動作を備えた Python プログラムのテスト ケースを作成しようとしています。
現在、次のように呼び出します。
import my_script
@when('we run "{command}"')
def run(context, command):
args = command.split()[1:]
my_script.cli(args)
そしてmyscript.cli
、引数を取り、それらを で解析しargparse
、最終的に `value = raw_input("選択してください") という行ができます。ここで動作テストが停止し、入力を待ちます。次のように私のステップで入力を与えたいと思います:
@when('we run "{command}" and enter "{text}"')
def run(context, command, text):
...
標準入力インターフェイスをモックして、テスト ケースでそれを使用するようにスクリプトを作成する必要があると思いますが、ビヘイビアを使用して行う最もエレガントな方法が何であるかはわかりません。