


Comment se moquer du module de requêtes de Python pour des interactions API réalistes ?
Oct 20, 2024 pm 07:46 PMModule de requêtes Pythons moqueurs pour les interactions API simulées
Dans notre quête pour tester de manière exhaustive le code Python qui interagit avec les API, en se moquant efficacement du module de requêtes est crucial. Voici une approche étape par étape pour se moquer des appels request.get() avec des réponses personnalisées :
Étape 1 : se moquer du module Requests
Utilisation du package simulé de Python, nous définissons notre fonction personnalisée (mocked_requests_get) pour remplacer request.get(). Cette fonction renvoie des réponses fictives basées sur l'URL fournie. Dans notre exemple, différentes URL recevront des réponses spécifiques :
def mocked_requests_get(*args, **kwargs): if args[0] == 'aurl': return 'a response' elif args[0] == 'burl': return 'b response' elif args[0] == 'curl': return 'c response'
Étape 2 : se moquer dans la classe de test
Dans notre classe de test, nous appliquons la simulation à le module de requêtes utilisant unittest.mock.patch() :
@mock.patch('requests.get', side_effect=mocked_requests_get)
Ce décorateur enveloppe notre méthode de test, garantissant que request.get est simulé avec notre fonction personnalisée.
Étape 3 : Appel de la vue et vérification des réponses
Nous invoquons la fonction de vue comme d'habitude et vérifions les réponses attendues. Notre fonction mock garantit que les réponses correspondent aux réponses personnalisées que nous avons définies précédemment :
res1 = requests.get('aurl') assert res1 == 'a response' res2 = request.get('burl') assert res2 == 'b response' res3 = request.get('curl') assert res3 == 'c response'
En suivant ces étapes, vous pouvez efficacement simuler le module de requêtes dans vos tests Python, vous permettant de simuler diverses réponses API et de manière approfondie testez le comportement de votre code dans différents scénarios.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
