```html
Vous êtes-vous déjà retrouvé au milieu d'un projet React, bloqué sur la façon de tester vos appels d'API sans atteindre le serveur réel à chaque fois ? Si c'est le cas, vous êtes au bon endroit. Aujourd'hui, nous allons plonger au cœur du monde des React mock API avec Axios. Que vous soyez un développeur chevronné ou débutant, ce guide vous expliquera tout ce que vous devez savoir.
Qu'est-ce que le test d'API ?
Le test d'API est un type de test logiciel qui implique de tester directement les interfaces de programmation d'applications (API). Il vérifie la fonctionnalité, la fiabilité, les performances et la sécurité des API. En termes plus simples, il s'agit de s'assurer que votre application communique correctement avec d'autres systèmes, services ou applications.
Pourquoi le test d'API est-il important ?
Les API sont l'épine dorsale des applications web modernes. Elles permettent à différents systèmes d'interagir de manière transparente. Sans tests d'API robustes, vous risquez d'avoir des interactions défectueuses, ce qui peut entraîner une mauvaise expérience utilisateur, des violations de données et des défaillances du système.
Comprendre Axios dans React
Si vous travaillez avec React, vous avez probablement entendu parler d'Axios. Il s'agit d'un client HTTP basé sur des promesses pour JavaScript, ce qui facilite l'envoi de requêtes HTTP asynchrones vers des points de terminaison REST.
Principales caractéristiques d'Axios :
- Facile à utiliser : Avec une API simple et intuitive.
- Prend en charge les promesses : Idéal pour gérer les requêtes asynchrones.
- Intercepteurs : Vous permettent de transformer les requêtes et les réponses.
- Annulation : Annulez facilement les requêtes.
Pourquoi les API Mock sont essentielles
Les API Mock jouent un rôle crucial dans le développement et les tests. Elles vous permettent de simuler les réponses de votre API sans atteindre le serveur réel. Cela signifie que vous pouvez développer et tester votre frontend indépendamment de votre backend.
Avantages des API Mock :
- Vitesse : Réduisez le temps passé à attendre les réponses de l'API.
- Isolation : Testez la logique du frontend sans dépendances du backend.
- Cohérence : Assurez des réponses cohérentes pour des tests prévisibles.
Configuration d'Axios dans un projet React
Mettons les mains à la pâte et configurons Axios dans un projet React. Si vous n'avez pas encore de projet React, créez-en un en utilisant Create React App.
npx create-react-app my-app
cd my-app
npm install axios
Maintenant, créons un service pour gérer nos appels d'API. Créez un nouveau fichier apiService.js
dans le répertoire src
:
import axios from 'axios';
const apiService = axios.create({
baseURL: 'https://api.example.com',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
export default apiService;
Création d'une API Mock avec Axios
La simulation des réponses d'API dans Axios est simple. Nous utiliserons axios-mock-adapter
, une bibliothèque simple pour simuler les requêtes Axios.
Installez axios-mock-adapter
:
npm install axios-mock-adapter
Maintenant, créons notre API mock. Dans src
, créez un nouveau fichier mockApi.js
:
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
// This sets the mock adapter on the default instance
const mock = new MockAdapter(axios);
// Mock any GET request to /users
// arguments for reply are (status, data, headers)
mock.onGet('/users').reply(200, {
users: [{ id: 1, name: 'John Smith' }]
});
// Mock any POST request to /login
// arguments for reply are (status, data, headers)
mock.onPost('/login').reply(200, {
user: { id: 1, name: 'John Smith' },
token: 'abcd1234'
});
Avec l'API mock configurée, vous pouvez maintenant tester vos composants sans atteindre le serveur réel.
Intégration d'Apidog pour des tests d'API améliorés
Apidog est un outil puissant qui améliore vos capacités de test d'API. Il vous permet de concevoir, de tester et de simuler des API en un seul endroit. Voici comment intégrer Apidog à votre projet React.
Pour tester votre API avec Apidog, vous devez suivre ces étapes :
Étape 1 : Ouvrez Apidog et créez une nouvelle requête.

Étape 2 : Dans l'éditeur de test, entrez l'URL de votre point de terminaison d'API, sélectionnez la méthode HTTP et ajoutez tous les en-têtes, paramètres ou données de corps dont vous avez besoin. Par exemple, vous pouvez tester la route qui renvoie un simple message que nous avons créé précédemment :

Étape 3 : Cliquez sur le bouton Envoyer et voyez le résultat de votre test. Vous devriez voir le code d'état, le temps de réponse et le corps de la réponse de votre API. Par exemple, vous devriez voir quelque chose comme ceci :

Apidog est un excellent outil pour tester vos API, car il vous aide à garantir la qualité, la fiabilité et les performances de vos services web. Il vous fait également gagner du temps et des efforts, car vous n'avez pas besoin d'écrire de code ni d'installer de logiciel pour tester vos API. Vous pouvez simplement utiliser votre navigateur et profiter de l'interface et des fonctionnalités conviviales d'Apidog.
Guide étape par étape pour maîtriser les API Mock avec Apidog
Étape 1. Créer un nouveau projet : Apidog utilise des projets pour gérer les API. Vous pouvez créer plusieurs API sous un même projet. Chaque API doit appartenir à un projet. Pour créer un nouveau projet, cliquez sur le bouton "Nouveau projet" sur le côté droit de la page d'accueil de l'application Apidog.
Étape 2. Créer une nouvelle API : Pour démontrer la création d'une API pour les détails de l'utilisateur, suivez ces étapes :
- Méthode de requête : GET.
- URL : api/user/{id}, où {id} est le paramètre représentant l'ID de l'utilisateur.
- Type de réponse : json.
- Contenu de la réponse :
{
id: number, // user id
name: string, // username
gender: 1 | 2, // gender: 1 for male, 2 for female
phone: string, // phone number
avatar: string, // avatar image address
}
Pour créer une nouvelle interface, accédez à la page d'accueil du projet précédemment créé et cliquez sur le bouton "+" situé sur le côté gauche.
Remplissez les informations d'interface correspondantes et enregistrez-les.


Avec cela, l'interface des détails de l'utilisateur a été créée. Pendant ce temps, Apidog a automatiquement généré un mock pour nous en fonction du format et du type des champs de réponse. Cliquez sur le bouton "Request" sous Mock pour afficher la réponse mock.

Jetons un coup d'œil à la réponse mock. Cliquez sur le bouton "Request" puis cliquez sur "Send" sur la page qui s'ouvre.

Étape 3. Définir les règles de correspondance Mock : Avez-vous remarqué quelque chose de magique ? Apidog a défini le champ "name" sur le type string, mais il renvoie des noms ; a défini le champ "phone" sur le type string, mais il renvoie des numéros de téléphone ; a défini le champ "avatar" sur le type string, mais il renvoie des adresses d'images.
La raison est qu'Apidog prend en charge la définition de règles de correspondance pour Mock. Apidog a des règles intégrées, et les utilisateurs peuvent également personnaliser leurs propres règles. Ces règles peuvent être trouvées dans Paramètres du projet > Paramètres des fonctionnalités > Paramètres Mock.

Vous pouvez également définir des règles Mock dédiées pour chaque champ. Cliquez sur le "Mock" à côté du champ :

Les règles de correspondance Mock d'Apidog sont les suivantes :
- Lorsqu'un champ répond à une règle de correspondance, la réponse renverra une valeur aléatoire qui satisfait la règle Mock.
- Si un champ ne répond à aucune règle de correspondance, la réponse renverra une valeur aléatoire qui correspond au type de données du champ.
Il existe trois types de règles de correspondance :
- Jokers : * correspond à zéro ou plusieurs caractères, et ? correspond à n'importe quel caractère unique. Par exemple, *name peut correspondre à user name, name, etc.
- Expressions régulières.
- Correspondance exacte.
Les règles Mock sont entièrement compatibles avec Mock.js et ont étendu une syntaxe que Mock.js n'a pas (comme les numéros de téléphone nationaux "@phone"). Les règles Mock couramment utilisées incluent :
- @integer : entier. @integer(min, max).
- @string : chaîne de caractères. @string(length) : spécifie la longueur de la chaîne.
- @regexp(regexp) : expression régulière.
- @url : URL.
Pendant le développement, nous pouvons rencontrer des scénarios Mock flexibles et complexes, tels que le renvoi de contenu personnalisé en fonction de différents paramètres de requête. Par exemple, renvoyer des informations utilisateur normales lorsque l'ID est 1 et signaler une erreur lorsque l'ID est 2. Apidog prend également en charge ces scénarios, et les personnes intéressées peuvent consulter le document Advanced Mock.
Meilleures pratiques pour la simulation d'API
La simulation d'API est une technique puissante, mais il est essentiel de suivre les meilleures pratiques pour garantir des tests efficaces.
1. Maintenir les Mocks à jour
Assurez-vous que vos API mock reflètent les dernières modifications de vos API réelles. Cela évite les divergences et garantit des tests précis.
2. Utiliser des données réalistes
Utilisez des données réalistes dans vos mocks pour simuler des scénarios réels. Cela permet d'identifier les problèmes qui pourraient survenir en production.
3. Limiter l'utilisation des mocks
Bien que les mocks soient excellents pour les tests, ne vous y fiez pas exclusivement. Testez avec de vraies API chaque fois que possible pour détecter les problèmes que les mocks pourraient manquer.
Pièges courants et comment les éviter
La simulation d'API peut introduire des défis si elle n'est pas effectuée correctement. Voici quelques pièges courants et comment les éviter.
1. Sur-simulation
Se fier trop aux mocks peut donner un faux sentiment de sécurité. Équilibrez les tests mock avec les tests d'intégration en utilisant de vraies API.
2. Mocks incohérents
Assurez la cohérence de vos données mock pour éviter les tests instables. Utilisez des outils comme Apidog pour générer des données mock cohérentes.
3. Ignorer les cas limites
Ne testez pas seulement les chemins heureux. Utilisez des mocks pour simuler les cas limites et assurez-vous que votre application gère les erreurs avec élégance.
Conclusion
La simulation d'API avec Axios dans un projet React peut améliorer considérablement votre flux de travail de développement et l'efficacité des tests. En utilisant des outils comme Apidog, vous pouvez rationaliser votre processus de test d'API, en vous assurant que votre application est robuste et fiable.
N'oubliez pas que, bien que les mocks soient puissants, ils doivent compléter, et non remplacer, les tests avec de vraies API. Maintenez vos mocks à jour, utilisez des données réalistes et équilibrez les tests mock avec les tests d'intégration. Bon codage !
```