鉄は熱いうちに打て
=============================

unittest.mock.patchを使ってみる(コンテキストマネージャ)

2017-12-19

今日の内容は、 Pythonでテストしたい にまとめている内容の詳細部分です。

unittest.mock.patch(コンテキストマネージャ)を使ってみます。

sample_method.py

sample_methodを読み込んでテストする

意味がないテストになっていますが、 with patch('sample_method.SampleMethod.method_1') as mock_method_1: と書いて、 mock_method_1.return_value = 'AAA' と書くことで、 SampleMethod.method_1 の戻り値を置き換えられます。

with の外に出ると元のメソッドに戻ります。

公式ドキュメント もどうぞ。