Auparavant, nous avons construit ensemble un backend d'application météo, mais comment pouvons-nous nous assurer que le résultat renvoyé correspond à ce que nous attendons ? Bien qu'il soit facile de vérifier manuellement les petites réponses dans le résultat, que se passe-t-il si les données renvoyées sont volumineuses ou difficiles à vérifier ligne par ligne ?
Aujourd'hui, nous allons approfondir et explorer comment utiliser la Post-response dans EchoAPI pour automatiser le processus de test. Cela nous permettra de vérifier automatiquement si les réponses de l'API correspondent à nos attentes, ce qui nous fera gagner du temps et des efforts.
Pour automatiser les tests avec EchoAPI, vous utiliserez sa fonctionnalité Post-réponse pour écrire des scripts qui s'exécutent automatiquement après une requête API. Ces scripts aident à vérifier l'exactitude de vos réponses API et à garantir que votre application se comporte comme prévu même lorsque vous apportez des modifications ultérieurement.
Expliquons en détail comment vous pouvez automatiser les tests de vos applications météo à l'aide de EchoAPI.
Configurer EchoAPI dans VSCode
Assurez-vous que l'extension EchoAPI for VS Code est installée dans VSCode. Une fois installé, vous pourrez tester et automatiser les requêtes au sein de l'interface EchoAPI. Son utilisation est Gratuit !!!
Définissez la méthode sur GET.
Utilisez l'URL suivante pour tester l'API météo :
http://localhost:3000/weather?city=London
Cliquez sur 'Envoyer' pour vous assurer que votre demande fonctionne et renvoie les données météorologiques correctes. Vous devriez voir une réponse JSON dans Réponse comme ceci :
Maintenant que vous avez testé manuellement votre API météo, ajoutons des tests automatisés pour vérifier les données de réponse.
Allez dans l'onglet Post-réponse dans EchoAPI pour votre demande.
Ajoutez un script Post-réponse en utilisant JavaScript pour vérifier automatiquement les données météorologiques.
Voici un exemple de script post-scripts simple qui vérifie :
http://localhost:3000/weather?city=London
Après avoir ajouté le script de test, appuyez à nouveau sur « Envoyer » pour exécuter votre requête et exécuter automatiquement le script de test.
Cliquez ensuite sur 'Résultat du test' sur le côté droit.
Les résultats des tests indiqueront si les contrôles ont réussi ou échoué.
Si tout se passe bien, vous verrez quelque chose comme :
Si vous souhaitez effectuer plusieurs Tests automatisés post-réponse, vous pouvez ajouter des tâches supplémentaires dans la section Post-réponse. Cela vous permet d'exécuter tous vos tests en une seule fois.
Nous pouvons ajouter différentes demandes pour plusieurs villes, des scénarios d'erreur et joindre des scripts de test spécifiques à chacune dans notre cas.
Pour vous assurer que votre application gère différents scénarios, vous pouvez modifier les requêtes et tester les cas d'erreur.
Par exemple, testez avec un nom de ville invalide :
Remplacez l'URL de la demande par quelque chose de non valide :
// Check if the response status is 200 (OK) pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // Check if the response has 'temperature', 'weather', and 'city' fields pm.test("Response contains temperature, weather, and city", function () { var jsonData = pm.response.json(); pm.expect(jsonData).to.have.property('temperature'); pm.expect(jsonData).to.have.property('weather'); pm.expect(jsonData).to.have.property('city'); }); // Ensure the 'temperature' is a number pm.test("Temperature is a number", function () { var jsonData = pm.response.json(); pm.expect(jsonData.temperature).to.be.a('number'); }); // Ensure the 'weather' field is a string pm.test("Weather is a string", function () { var jsonData = pm.response.json(); pm.expect(jsonData.weather).to.be.a('string'); }); // Ensure the 'city' field is a string pm.test("City is a string", function () { var jsonData = pm.response.json(); pm.expect(jsonData.city).to.be.a('string'); });
Ajouter un script de test pour gérer ce cas dans une nouvelle tâche :
http://localhost:3000/weather?city=InvalidCity
Lorsque vous exécutez ce test, EchoAPI vérifiera automatiquement que votre API répond avec le message d'erreur et le code d'état corrects pour une entrée non valide.
En plus des tests existants, vérifions que les données renvoyées concernent New York, la Big Apple. Nous allons créer une nouvelle tâche et la nommer "C'est pour ?".
Modifiez l'URL de la demande en New York :
http://localhost:3000/weather?city=London
Voici le script que vous ajouterez dans la section Post-réponse :
// Check if the response status is 200 (OK) pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // Check if the response has 'temperature', 'weather', and 'city' fields pm.test("Response contains temperature, weather, and city", function () { var jsonData = pm.response.json(); pm.expect(jsonData).to.have.property('temperature'); pm.expect(jsonData).to.have.property('weather'); pm.expect(jsonData).to.have.property('city'); }); // Ensure the 'temperature' is a number pm.test("Temperature is a number", function () { var jsonData = pm.response.json(); pm.expect(jsonData.temperature).to.be.a('number'); }); // Ensure the 'weather' field is a string pm.test("Weather is a string", function () { var jsonData = pm.response.json(); pm.expect(jsonData.weather).to.be.a('string'); }); // Ensure the 'city' field is a string pm.test("City is a string", function () { var jsonData = pm.response.json(); pm.expect(jsonData.city).to.be.a('string'); });
Une fois que vous avez ajouté ce script, cliquez à nouveau sur 'Envoyer'. EchoAPI exécutera automatiquement tous les tests et vous montrera quels tests ont réussi et lesquels ont échoué.
Voici le résultat :
Vous pouvez ajuster l'ordre d'exécution en faisant glisser l'icône ici pour les réorganiser.
Activez et désactivez l'exécution post-réponse en basculant le commutateur.
L'automatisation de vos tests avec EchoAPI garantit que votre application météo fonctionne comme prévu. Garder une API fiable n’a jamais été aussi simple.
Bon codage ?.
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!