2015-06-22 11 views
5

Sto provando a sviluppare una suite di test automatizzata per un'API REST. Mi è stato detto che Swagger sarebbe lo strumento giusto da usare per fare questo. L'API è in fase di sviluppo utilizzando Spring Framework.Testbed API RESTful con Swagger

Non riesco a capire come utilizzare Swagger per farlo. Dalla mia comprensione Swagger è usato per creare una buona documentazione API. Ho guardato allo this Dreamfactory blog post e sembra che abbiano una sorta di funzionalità di test del browser, ma non penso che sia davvero una suite di test.

Ho anche dato un'occhiata a ServiceStack (e cetriolo) ma dal suo altro quadro non penso che funzionerebbe.

This la discussione di gruppo di google non ha visto nessuno punto in particolare.

Quindi, qualcuno sa come sviluppare un banco di prova API RESTful usando Swagger?

Grazie!

risposta

5

Swagger ti consente di documentare correttamente la tua API e ti aiuterà a eseguire test manuali e in tempo reale con swagger-ui in quanto puoi facilmente inserire argomenti e visualizzare le risposte attraverso un interfaccia utente web. Prova la demo di Swagger come esempio di ciò a cui mi riferisco. http://petstore.swagger.io/

Non ho provato questo, ma questo potrebbe essere di interesse per test più automatizzati contro le definizioni di Swagger. https://github.com/Maks3w/SwaggerAssertions

+0

Suggerisco di dare un'occhiata anche a https://github.com/byjg/php-swagger-test. –

8

Come già menzionato nelle altre risposte, Swagger fornisce un modo per definire e documentare endpoint, metodi, risposte, errori API e altro. Fa non fare qualsiasi tipo di test automatico fuori dalla scatola.

ci sono un paio di strumenti che possono leggere una definizione Swagger per test automatizzati creato, però:

  • Assertible è uno strumento gratuito in cui è possibile importare la vostra spec Swagger per creare automaticamente i test e le asserzioni per ogni endpoint e metodo. È quindi possibile impostare il monitoraggio, eseguire test di distribuzione e avvisi. (Leggi il blog Testing an API using Swagger).
  • swagger-test è un pacchetto NPM, se stai cercando qualcosa da integrare con il tuo codice. Non l'ho usato personalmente, ma sembra attivo e utile.
  • Dredd è un altro strumento open source davvero interessante che automatizzerà il test delle specifiche Swagger su un back-end live. Anche questo è un CLI e funziona con API Blueprint in addition to Swagger.

Ce ne sono anche altri, perché Swagger fornisce un buon linguaggio comune per gli sviluppatori di API, ci sono alcuni ottimi strumenti che sono scritti sopra.

Un'altra risposta menzionata per controllare la pagina Commercial Tools su swagger.io, che ha alcuni altri servizi ospitati (gratuiti e a pagamento).

Full disclosure - Sono uno dei co-fondatori di Assertible e mi piacerebbe sentire il tuo feedback se hai la possibilità di usarlo!