web-dev-qa-db-fra.com

Banc d'essai API RESTful avec Swagger

J'essaie de développer une suite de tests automatisés pour une API REST. On m'a dit que Swagger serait le bon outil à utiliser pour ce faire. L'API est en cours de développement à l'aide de Spring Framework.

Je ne vois pas comment j'utiliserais Swagger pour faire cela. D'après ce que j'ai compris, Swagger est utilisé pour créer une documentation sur l'API Nice. J'ai consulté ce billet de blog Dreamfactory et on dirait qu'ils ont une sorte de fonctionnalité de test de navigateur, mais je ne pense pas que ce soit vraiment une suite de tests.

J'ai aussi jeté un coup d'œil à ServiceStack (et au concombre), mais comme c'est un autre cadre, je ne pense pas que cela fonctionnerait.

Ce google groupe de discussion n'a pas vu pointer nulle part en particulier non plus.

Alors, est-ce que quelqu'un sait comment développer un banc d'essai RESTful API en utilisant Swagger?

Merci!

9
illm

Swagger vous laissera bien documenter votre API et vous aidera à faire des tests manuels en direct avec swagger-ui en ce sens que vous pouvez facilement entrer des arguments et voir les réponses via une interface Web. Essayez la démo Swagger comme exemple de ce dont je parle. http://petstore.swagger.io/

Je n'ai pas essayé cela, mais cela pourrait présenter un intérêt pour des tests plus automatisés par rapport aux définitions Swagger. https://github.com/Maks3w/SwaggerAssertions

7
mmccaff

Comme indiqué dans les autres réponses, Swagger offre un moyen de définir et de documenter vos points de terminaison, méthodes, réponses, erreurs, etc. Il fait not fait n'importe quelle sorte de test automatique prêt à l'emploi.

Il existe quelques outils qui peuvent lire une définition Swagger pour créer des tests automatisés:

  • Assertible est un outil dans lequel vous pouvez importer vos spécifications Swagger pour créer automatiquement des tests et des assertions pour chaque point de terminaison et méthode. Vous pouvez ensuite configurer la surveillance, les tests post-déploiement et les alertes. (Lire le blog Test d’une API avec Swagger ). Il a un plan gratuit avec des options pour mettre à niveau pour plus de tests.
  • swagger-test est un package NPM, si vous cherchez quelque chose à intégrer à votre code. Personnellement, je ne l'ai pas utilisé, mais il semble actif et utile.
  • Dredd est un autre outil open-source vraiment cool qui automatisera le test de vos spécifications Swagger sur un backend en direct. C'est aussi une CLI aussi, et cela fonctionne avec API Blueprint en plus de Swagger .

Il y en a d'autres aussi, car Swagger fournit un bon langage commun aux développeurs d'API, mais il contient également d'excellents outils.

Une autre réponse a été mentionnée: consultez la page Outils commerciaux sur swagger.io, qui propose des services hébergés supplémentaires (gratuits et payants).

Divulgation complète - Je suis l’un des cofondateurs d’Assertible et aimerais connaître votre opinion si vous en avez l’occasion.

13
Cody Reichert

Vous pouvez trouver de nombreux logiciels utilisant la spécification Swagger pour le test (automatisé) de votre API REST sur http://swagger.io/commercial-tools/ . Mais ils ne sont pas libres.

1
shobull

Postman est un excellent outil pour tester avec Swagger Apis. Il peut également stocker des demandes et des réponses. Plus de détails comme suit https://www.getpostman.com/docs/importing_swagger

Vous pouvez également consulter les outils de la communauté en fonction des langues sur cette page. http://swagger.io/open-source-integrations/

0
Lalit Kale