pythonの学習を最近始めた初心者です。
簡単な競技プログラミングなどをやっていて、作った関数を自動でテストしたいと思い、
assert を使って自動でテストをしていました。
ですが、関数の中に標準入力がある場合、どうやって自動でテスト処理すればいいのか悩んでいます。
例えば
Python 3.6.1
def sample1(): s = input() return s def sample2(s): return s if __name__ == "__main__": #"a"が与えられ、その答えが"a"のテストケース #どうやって"a"を渡せばいいですか? assert sample1() == "a"#input()の入力待ちが発生してしまいます。直接入力したくありません #引数からの場合問題ありません assert sample2("a") == "a"
試したこと
if name == "main":以下でinput()を受け取って、その内容を入れた配列を用意して、引数で渡す方法を考えましたが、
標準入力の内容が多くなるとすごく面倒です。
なにかいい方法があれば教えてください。
補足情報(FW/ツールのバージョンなど)
Python 3.6.1
windows 10
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/04 06:37