スクリプト実行ファイルのTestCase
pythonのスクリプト実行部分をTestしたい。
例えば、sys.argvの切り分け処理部分をテストしたいときに使う。
コード
スクリプト実行ファイル
# hello.py import sys args = sys.argv if len(args) > 1: print("Hello world.","args 1 : " + args[1])
テストファイル
import sys import runpy from unittest import TestCase class ScriptTest(TestCase): saved_argv = [] def setUp(self): self.saved_argv = sys.argv def tearDown(self): sys.argv = self.saved_argv def test_hello_module_normal(self): my_args = ["hello.py","wanwan"] sys.argv = my_args runpy.run_path("hello.py",run_name="__main__")
サンプルコード置き場
イマイチ
`argv`の渡し方がもっとなんとかなりそうな気もするが、分からず。
とりあえずこれで行こう。