日々精進

新しく学んだことを書き留めていきます

pytestでテストコードからコマンドライン引数を設定する

コマンドライン引数としてある値を渡したときのテストをしたい場合。 以下のようにpatch.objectを使ってsys.argvを置き換えればよい。

def test_parse_args():
    testargs = ["prog", "-f", "/home/fenton/project/setup.py"]
    with patch.object(sys, 'argv', testargs):

参考:

stackoverflow.com