Test continu d'API - Cloud

Guide d'utilisation de Talend Cloud API Tester

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Talend API Tester
Content
Création et développement > Test d'API
Last publication date
2024-03-27
Exécutez vos tests automatiquement en Intégration Continue.

Le runner de test de CLI de Talend Cloud API Tester s'intègre sans problème avec la plupart des solutions d'Intégration Continue, vous n'avez besoin que de la dernière version de la JDK Java et de Maven installées sur votre machine d'Intégration Continue.

Les solutions suivantes sont compatibles avec Talend Cloud API Tester :

  • Jenkins ;
  • Azure Pipelines ;
  • AWS CodeBuild et CodePipeline ;
  • Travis CI ;
  • CircleCI ;
  • Team Foundation Server ;
  • Gitlab CI/CD.

D'autres solutions CI/CD peuvent aussi être compatibles. Si vous connaissez d'autres solutions qui fonctionnent, veuillez nous contacter afin que nous mettions cette page à jour.

Workflow d'Intégration Continue

Vos tests d'API suivent habituellement ce flux :

Diagramme du workflow d'intégration continue.

conception de votre API à partir des sources, puis exécution des tests unitaires, déploiement et, pour finir, exécution des tests d'intégration sur celle-ci avec Talend Cloud API Tester.

Techniquement, il existe deux façons de faire, elles sont décrites ci-dessous. Pour plus d'informations concernant la configuration de vos builds d'intégration continue, consultez Exemples d'utilisation de Talend Cloud API Tester.

Workflow simple : testez votre branche principale une fois par jour

Les fichiers sont récupérés du gestionnaire de version tous les soirs et cela déclenche le pipeline d'intégration : après avoir exécuté les tests unitaires et packagé l'implémentation du service, le pipeline le déploie dans un environnement de préparation (staging). Les tests d'API sont ensuite exécutés pour valider que l'API se comporte comme prévu.

Si vous choisissez de tester votre API dans un environnement statique, vous pouvez exécuter le test sur demande ou programmer votre Job à s'exécuter de nuit. Cette solution est simple et fonctionne, mais notez que :

  • un seul test peut être effectué à la fois ;
  • les données dans votre API sont "polluées" lors de l'exécution du test, il vous faut les nettoyer avant d'exécuter un autre test ou il ne sera pas exécuté dans les mêmes conditions ;
  • quiconque ayant accès à cet environnement peut appeler l'API pendant l'exécution du test, ce qui peut engendrer des échecs de tests difficiles à déboguer.

Lors d'un test dans un environnement de préparation, vous pouvez créer une tâche CRON qui s'exécute une fois par nuit et réalise les actions suivantes :

  • pull du code API et du fichier test de GitHub ;
  • build et test de votre code d'API ;
  • déploiement dans votre environnement ;
  • exécution de vos tests d'API sur celui-ci avec le plug-in Maven ;
  • obtention des rapports de vos tests.

Une fois que le Job est créé, vous pouvez également l'exécuter sur demande.

Workflow avancé : vérifiez votre API à chaque commit

Un build est déclenché à chaque commit sur les fichiers. Un conteneur avec une durée de vie courte est utilisé pour déployer l'implémentation du service. Les tests de l'API sont effectués sur l'API en cours d'exécution. Après les tests, le statut de la branche est renvoyé au gestionnaire des versions.

Une solution plus avancée consiste à déployer votre API dans un conteneur à chaque exécution de Job. Cela vous permet de :

  • tester plusieurs branches en même temps ;
  • travailler dans un environnement compartimenté ;
  • tester tous les commits.

Si vous testez votre API dans des conteneurs, vous pouvez créer une tâche qui s'exécute chaque fois que les sources sont mises à jour et :

  • builder et effectuer des tests unitaires sur le code d'API ;
  • la déployer dans un conteneur ;
  • exécuter vos tests d'API sur celui-ci avec le plug-in Maven de Talend Cloud API Tester ;
  • obtenir des rapports de vos tests.