鉄は熱いうちに打て
=============================
unittest.mock.patchを使ってみる(デコレータ)¶
2017-12-17
今日の内容は、 Pythonでテストしたい にまとめている内容の詳細部分です。
unittest.mock.patch(デコレータ)を使ってみます。
sample_method.py
sample_methodを読み込んでテストする
意味がないテストになっていますが、 @patch('sample_method.SampleMethod.method_1')
と書いて、引数の最後に mock_method_1
を追加すると、 mock_method_1.return_value = 'AAA'
と書くことで、 SampleMethod.method_1 の戻り値を置き換えられます。
こちらはモジュールを読み込む場合に @patch()
にはパッケージ名から追加するそうです。 @patch('SampleMethod.method_1')
と書いても動きませんでした。
公式ドキュメント もどうぞ。