Anfragen mit dem Mock-Paket von Python verspotten
Um das Anforderungsmodul von Python effektiv zu verspotten, befolgen Sie diese Schritte:
Schritt 1: Verspotten Sie das Anforderungsmodul
Um das Anforderungsmodul im Kontext Ihrer Testklasse zu verspotten, verwenden Sie die folgende Syntax:
<code class="python">import mock @mock.patch('requests.get') def test_function(self, mockedRequests):</code>
Innerhalb der Testfunktion:
Beispiel:
<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>
Schritt 2: Aufrufen der View-Funktion
Rufen Sie in Ihrem Testfall die myview-Funktion auf, um die HTTP-Anfragen auszuführen.
Schritt 3: Antwort überprüfen
Stellen Sie sicher, dass die Antwortobjekte die erwarteten Werte enthalten („a-Antwort“, „b-Antwort“, „c-Antwort“).
Beispiel:
<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>
Beispielcode:
<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>
Das obige ist der detaillierte Inhalt vonWie kann man das Anforderungsmodul von Python zum Testen effektiv nachahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!