Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengejek Fungsi Terbuka dengan Pernyataan dalam Ujian Unit Python?
Mengejek Terbuka dengan Penyata Dengan dalam Python
Apabila menguji kod yang menggunakan fungsi open() dengan pernyataan with, ia menjadi perlu untuk mengejek panggilan terbuka untuk menegaskan tingkah laku yang diharapkan. Begini cara untuk melakukannya menggunakan rangka kerja Mock dalam Python:
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>
Sebagai alternatif, anda boleh menggunakan tampung sebagai penghias dengan argumen new_callable ditetapkan kepada 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
Atas ialah kandungan terperinci Bagaimana untuk mengejek Fungsi Terbuka dengan Pernyataan dalam Ujian Unit Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!