Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le proxy de développement et les tests unitaires servent différents objectifs dans votre stratégie de test. Bien que les deux soient utiles, ils testent votre application de manière fondamentalement différente. Les utiliser ensemble vous offre une couverture complète du comportement de votre application.
Différentes approches de test
Les tests unitaires testent des éléments de code isolés avec des dépendances simulées. Lorsque vous écrivez un test unitaire pour le code qui appelle une API, vous fictivez généralement le client HTTP pour retourner des réponses prédéfinies. Cette approche vous permet de vérifier que votre code gère correctement des scénarios spécifiques.
Dev Proxy teste votre application en cours d’exécution avec un comportement d’API simulé. Au lieu de simuler du code, le proxy de développement intercepte les requêtes HTTP réelles et simule des conditions réelles telles que les erreurs, la limitation et la latence. Cette approche teste votre application dans son ensemble, y compris toutes les couches entre votre code et l’API.
Quand utiliser les différents services
Utilisez des tests unitaires lorsque vous souhaitez :
- Tester le comportement d’une fonction spécifique et les cas limites.
- Vérifier la logique métier en isolation
- Obtenir des commentaires rapides pendant le développement
- Atteindre une couverture de code élevée
- Tester des chemins de gestion des erreurs spécifiques
Utilisez le proxy de développement lorsque vous souhaitez :
- Tester votre application en cours d’exécution de bout en bout
- Simuler des conditions difficiles à reproduire, telles que la limitation de bande passante ou les problèmes de réseau
- Tester la logique de nouvelle tentative réelle et la gestion des erreurs sur toutes les couches
- Exécuter votre application en cours de chargement avec des échecs aléatoires
- Vérifier la résilience sans modifier votre code
Avantages du proxy de développement
Le Dev Proxy offre plusieurs avantages par rapport aux approches traditionnelles de mocking :
- Aucune modification du code n’est nécessaire. Vous n’avez pas besoin de modifier votre application pour utiliser le proxy de développement. Il fonctionne au niveau du réseau, interceptant les requêtes HTTP de manière transparente.
- Fonctionne avec n’importe quelle bibliothèque HTTP. Certaines bibliothèques HTTP sont notoirement difficiles à simuler. Avec le proxy de développement, peu importe la bibliothèque que vous utilisez : RestSharp, HttpClient, Axios ou tout autre. Le proxy de développement intercepte tout le trafic HTTP indépendamment de la bibliothèque.
- Teste l’application réelle. Les tests unitaires avec des clients HTTP fictifs ne testent pas la logique de nouvelle tentative, la gestion des connexions ou le comportement de délai d’expiration réel. Dev Proxy teste votre application réelle avec toutes ses dépendances.
- Plus facile à comprendre les échecs. Lorsque vous pouvez déclencher des échecs à la demande dans une application en cours d’exécution, il est plus facile de comprendre et de déboguer comment votre application les gère.
- Simule des conditions complexes. Le proxy de développement peut simuler des conditions qui ne sont pas pratiques à reproduire avec des simulations, telles que des défaillances aléatoires sous charge, une limitation progressive ou des problèmes réseau intermittents.
Une stratégie de test complémentaire
L’approche la plus efficace combine les deux méthodes de test :
- Utilisez des tests unitaires pour la logique. Écrivez des tests unitaires pour vérifier votre logique métier, les transformations de données et les chemins de code de gestion des erreurs spécifiques.
- Utilisez Dev Proxy pour la résilience. Utilisez le proxy de développement pour vérifier que votre application gère correctement les conditions d’API réelles : limitation, erreurs et réponses lentes.
- Utilisez les deux dans CI/CD. Exécutez des tests unitaires pour obtenir des commentaires rapides sur chaque validation. Utilisez le proxy de développement dans les tests d’intégration pour détecter les problèmes de résilience avant le déploiement.
Les tests unitaires vous indiquent si votre code est correct. Le proxy de développement vous indique si votre application est résiliente. Vous devez disposer des deux.
Étapes suivantes
- Tester mon application avec des erreurs aléatoires — 5 minutes
- Utiliser le proxy de développement dans CI/CD : exécutez à la fois des tests unitaires et du proxy de développement dans votre pipeline