Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengejek Modul Permintaan Python untuk Ujian dengan Berkesan?
Permintaan Mengejek dengan Pakej Olok-olok Python
Untuk mengejek modul permintaan Python dengan berkesan, ikut langkah berikut:
Langkah 1: Mock the Requests Module
Untuk mengejek modul permintaan dalam konteks kelas ujian anda, gunakan sintaks berikut:
<code class="python">import mock @mock.patch('requests.get') def test_function(self, mockedRequests):</code>
Di dalam fungsi ujian:
Contoh:
<code class="python">mockedRequests.get('aurl').return_value = 'a response' mockedRequests.get('burl').return_value = 'b response' mockedRequests.get('curl').return_value = 'c response'</code>
Langkah 2: Panggil Fungsi Paparan
Dalam kes ujian anda, hubungi fungsi myview untuk melaksanakan permintaan HTTP.
Langkah 3: Sahkan Respons
Tegaskan bahawa objek respons mengandungi nilai yang dijangkakan ('a response', 'b response', 'c response').
Contoh:
<code class="python">res1 = myview(request) self.assertIn('a response', res1) res2 = myview(request) self.assertIn('b response', res2) res3 = myview(request) self.assertIn('c response', res3)</code>
Contoh Kod:
<code class="python">import unittest import mock from views import myview # Mock the requests module @mock.patch('requests.get') def test_myview(self, mockedRequests): # Define return values for URL calls mockedRequests.get('aurl').return_value = 'a response' mockedRequests.get('burl').return_value = 'b response' mockedRequests.get('curl').return_value = 'c response' # Call the view function res1 = myview(request) res2 = myview(request) res3 = myview(request) # Verify response self.assertIn('a response', res1) self.assertIn('b response', res2) self.assertIn('c response', res3) if __name__ == '__main__': unittest.main()</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengejek Modul Permintaan Python untuk Ujian dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!