Test continu d'API
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 :
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 sur 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
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
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.