Quelle est la meilleure façon d'effectuer des tests unitaires pour une API RESTful qui inclut la fonctionnalité de messagerie (mots de passe perdus, activation de l'utilisateur) en Python?
Tout se fait via HTTP POST/GET et pour le moment, l'authentification n'est pas impliquée.
Dois-je simplement utiliser la bibliothèque requests
et faire manuellement tout ce que je veux? Est-il possible d'utiliser requests
pour automatiser les parties de mes tests unitaires impliquant le courrier électronique?
Souvent, le framework Web que vous utilisez pour implémenter l'api REST offre également un support de test unitaire. Par exemple:
Ces classes de test sont des raccourcis qui connectent la demande directement au répartiteur d'URL du framework. Cela vous évite d'avoir à trouver un port libre, à générer un "vrai" serveur et à connecter le client http à partir de votre test unitaire.
Quant à l'envoi d'e-mails: je me moquerais de cette partie dans le TestCase.setUp
méthode. Modifiez simplement la référence du module/classe d'envoi de courrier électronique à un autre module/classe qui boucle le courrier électronique sortant vers le test unitaire pour évaluation plutôt que par courrier électronique.