ホームページ >バックエンド開発 >Python チュートリアル >Python単体テストでwithステートメントを使用してOpen関数をモックする方法?
Python で With ステートメントを使用して Open をモックする
with ステートメントで open() 関数を使用するコードをテストする場合、次のことが必要になります。オープンコールをモックして、期待される動作をアサートします。 Python の Mock フレームワークを使用してこれを行う方法は次のとおりです。
Python 3
<code class="python">from unittest.mock import patch, mock_open with patch("builtins.open", mock_open(read_data="data")): mock_file = open("path/to/open") assert mock_file.read() == "data" mock_file.assert_called_with("path/to/open")</code>
あるいは、 new_callable 引数を次のように設定して、 patch をデコレータとして使用することもできます。 mock_open:
<code class="python">@patch("builtins.open", new_callable=mock_open, read_data="data") def test_patch(mock_file): open("path/to/open") assert mock_file.read() == "data" mock_file.assert_called_with("path/to/open")</code>
Python 2
以上がPython単体テストでwithステートメントを使用してOpen関数をモックする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。