Maison >développement back-end >Tutoriel Python >Comment se moquer efficacement du module de requêtes de Python pour les tests ?
Demandes moqueuses avec le package Mock de Python
Pour simuler efficacement le module de requêtes de Python, suivez ces étapes :
Étape 1 : simuler le module de requêtes
Pour simuler le module de requêtes dans le contexte de votre classe de test, utilisez la syntaxe suivante :
<code class="python">import mock @mock.patch('requests.get') def test_function(self, mockedRequests):</code>
À l'intérieur de la fonction de test :
Exemple :
<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>
Étape 2 : Appelez la fonction View
Dans votre scénario de test, appelez la fonction myview pour exécuter les requêtes HTTP.
Étape 3 : Vérifier la réponse
Assurer que les objets de réponse contiennent les valeurs attendues (« une réponse », « réponse b », « réponse c »).
Exemple :
<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>
Exemple de code :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!