Si vous en avez assez d'écrire des lignes interminables de code répétitif dans RestAssured juste pour tester vos API, vous n'êtes pas seul. Les tests d’API ne devraient pas donner l’impression de s’arracher les dents, mais soyons réalistes : REST Assured peut rendre le processus ennuyeux et inutilement long. Mais et si vous pouviez laisser cette routine derrière vous ?
Dans ce guide, nous allons vous montrer comment passer à Keploy, un moyen plus intelligent et sans code de tester vos API. Rendons vos tests d'API plus rapides, plus faciles et, osons le dire, amusants ! Prêt pour la mise à niveau ?
REST Assured est une bibliothèque Java populaire utilisée pour tester les services Web RESTful. Il fournit un langage spécifique au domaine (DSL) pour l'écriture de tests, permettant aux développeurs de valider efficacement les réponses des API. Avec des fonctionnalités telles que :
Intégration facile avec des frameworks de test comme JUnit et TestNG.
Prise en charge de diverses méthodes HTTP (GET, POST, PUT, DELETE).
Cependant, à mesure que les API deviennent plus complexes et que les demandes de tests augmentent, s'appuyer sur REST Assured peut devenir très pénible. Soyons réalistes :
La rédaction manuelle des tests devient répétitive et prend du temps.
La maintenance des tests est un cauchemar, surtout lorsque les API évoluent.
Les rapports de couverture ne sont pas intégrés et nécessitent une configuration avec des bibliothèques comme Jacoco.
Une configuration complexe ronge le temps de développement, distrayant les ingénieurs des tâches principales.
C'est là que Keploy intervient. Keploy automatise le processus de test, réduisant ainsi les efforts d'ingénierie d'au moins 20 % et permettant à votre équipe de se concentrer sur ce qui compte : fournir des logiciels de haute qualité.
Keploy est un outil open source conçu pour automatiser les tests d'API en capturant les interactions API et en les rejouant plus tard. Certaines de ses fonctionnalités clés incluent :
Générer automatiquement des simulations de données : Keploy peut générer automatiquement des simulations basées sur les interactions avec diverses dépendances telles que les microservices et les bases de données, réduisant ainsi le besoin de création manuelle de simulations.
Exécution à faible coût : Keploy ne nécessite pas de configuration d'environnement de test dédié et complexe. Cela entraîne moins de frais généraux liés à la gestion des environnements parallèles et réduit les coûts associés à l'infrastructure.
Tests zéro code : contrairement à RestAssured, où les développeurs doivent écrire chaque test manuellement, Keploy propose une approche zéro code en capturant les interactions API et en générant automatiquement des tests.
Intégration facile : Il s'intègre bien aux pipelines CI/CD et à d'autres outils de test tels que JUnit, TestNG, GitHub Action, etc.
Couverture complète des tests : étant donné que Keploy capture les interactions API du monde réel, y compris les cas extrêmes, il permet de garantir une couverture de tests plus large et plus réaliste par rapport aux tests écrits manuellement dans RestAssured.
Nous exécuterons une simple application de gestion des employés en Java avec Postgres comme base de données pour ce guide.
Avant de migrer, effectuez une évaluation complète de votre suite de tests RestAssured existante :
Identifier les cas de test existants : documentez tous les cas de test existants et leurs fonctionnalités.
Remarquez les dépendances : identifiez toutes les dépendances susceptibles d'affecter le processus de migration.
Exécutons nos cas de test et vérifions si tout fonctionne bien ou non
mvn test
Nous constaterons que tous nos cas de test ont réussi, et puisque nous avons installé Jacoco, nous pouvons également connaître la couverture.
Nous avons obtenu environ 68 % de couverture pour notre suite de tests.
Passons à la mise en place de keploy et de notre processus de migration.
Installer Keploy : Vous pouvez configurer Keploy en suivant les instructions d'installation sur le référentiel Keploy GitHub.
Vous pouvez vérifier l'installation en exécutant la commande Keploy sur le terminal, nous devrions pouvoir voir le résultat ci-dessous :
Commençons le processus de migration de nos cas de test REST Assured existants.
@BeforeEach public void setUp() { RestAssured.baseURI = "http://localhost"; RestAssured.port = 8080; // Clean up repository to ensure fresh data for each test employeeRepository.deleteAll(); // Create and save test employee testEmployee = new Employee(); testEmployee.setFirstName("John"); testEmployee.setLastName("Doe"); testEmployee.setEmail("john.doe@example.com"); employeeRepository.save(testEmployee); // save to generate ID }
Étant donné que notre application s'exécute localement sur le port 8080, nous avons configuré RestAssured.port pour qu'il s'exécute également sur 8080, permettant à Keploy de capturer l'interaction API et de créer une nouvelle suite de tests lorsque la REST Assured TestSuite est exécutée.
Créons un fichier jar pour notre application en exécutant mvn clean install -Dmaven.test.skip=true.
Une fois le fichier Jar prêt, démarrons keploy en mode enregistrement pour capturer les cas de test. Il est maintenant temps de rendre notre base de données opérationnelle à l'aide de docker-compose up postgres : -
Sur le nouveau terminal, exécutons keploy record -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar": -
Maintenant, nous avons tout prêt et configuré pour migrer nos suites de tests. Il est temps d’exécuter notre suite de tests REST Assured existante. Cette exécution permettra à Keploy de capturer les requêtes et réponses API.
Chacun des cas de test générés par keploy est un cas de test REST Assured : -
mvn test
Nous avons migré avec succès les cas de test REST Assured vers la suite de tests keploy. Vous trouverez ci-dessous l'un de ces cas de test Keploy : -
Alors, exécutons notre suite de tests keploy en exécutant - keploy test -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar" --delay 10 : -
Comme nous avons du bruit, c'est pourquoi un test a échoué, et nous avons obtenu environ 70,5 % de couverture avec keploy.
La migration de REST Assured vers Keploy offrait divers avantages, tels que des tests sans code, des commentaires en temps réel et une intégration CI/CD rationalisée. En suivant les étapes décrites dans ce guide, vous pouvez assurer une transition en douceur tout en maximisant les avantages de Keploy pour vos besoins de tests d'API.
En adoptant Keploy, votre équipe de développement peut se concentrer davantage sur la fourniture de logiciels de haute qualité avec un effort d'ingénierie réduit, conduisant finalement à une productivité et une qualité logicielle améliorées.
CI/CD - https://keploy.io/docs/ci-cd/jenkins/
Obtenez l'essai Cloud - https://keploy.io/docs/keploy-cloud/cloud-installation/
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!