Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 19

Pruebas de integración para servicios REST usando Rest Assured - JConf Colombia 2019

0

Share

Download to read offline

Mi presentación en #JConfColombia2019. El objetivo de ésta sección es mostrar como realizar pruebas integrales sobre los puntos finales (endpoints) de los servicios REST utilizando Assured, una librería Java para la validación de servicios REST.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Pruebas de integración para servicios REST usando Rest Assured - JConf Colombia 2019

  1. 1. Pruebas de integración para servicios REST usando Rest Assured JConf Colombia 2019 06 Julio 2019, Centro de Innovación y Negocios Ruta N, Medellín, Colombia #JConfColombia2019 Eudris Cabrera @eudriscabrera
  2. 2. Eudris Cabrera Graduado de Ingeniería Telemática en la PUCMM. Entusiasta de la tecnología y el software libre, desarrollador Java, instructor ocasional (Java / Linux), aficionado del béisbol/sóftbol y los bailes latinos. En el tiempo libre, escribe artículos, realiza charlas, participa en eventos tecnológicos y ayuda en la revisión de documentación técnica en el mundo Java y el código abierto.
  3. 3. REPUBLICA DOMINICANA ¿De dónde soy?
  4. 4. Mi estadía en Medellin .....
  5. 5. AGENDA ● Introducción ● Confirguración ● Sintaxis ● Parámetros inicialización (Setup) ● Validación de datos técnicos en la respuesta. ● Pruebas parametrizadas ● Acceso a API Seguras ● Otros interesantes features de REST Assured
  6. 6. Es una librería Java que proporciona un lenguaje específico del dominio (Domain-specific Language / DSL) para escribir pruebas potentes y sostenibles para los servicios REST. REST Assured
  7. 7. Configuración Maven <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>3.0.2</version> <scope>test</scope> </dependency> Gradle testCompile 'io.rest-assured:rest-assured:3.0.2'
  8. 8. Sintaxis REST Assured utiliza una API Fluida que es compactible con el desarrollo guidado por comportamiento, behavior-driven development (BDD). Esto es Given / When / Then, lo que resulta en una prueba que es fácil de leer y se encarga de todo (configuración, ejecución y verificación) con sólo una sola línea de código.
  9. 9. Sintaxis given(). when(). get("jconfdominicana/sessions") .then() .statusCode(200) .and() .contentType(ContentType.JSON);
  10. 10. Parámetros de inicialización (Setup) @Before public void setup() { RestAssured.baseURI = "http://localhost"; RestAssured.port = 8080; }
  11. 11. Validación de datos técnicos en la respuesta given(). pathParam("sessionId", 101) .when() .get("jconfdominicana/sessions/{sessionId}") .then() .contentType(ContentType.JSON) .body("id", equalTo(101)) .body("title", equalTo("Pruebas de Integración para Servicios REST usando REST Assured"));
  12. 12. Pruebas parametrizadas String contenido = given(). pathParam("sessionId", 101) .when() .get("jconfdominicana/sessions/{sessionId}") .then() .statusCode(200) .extract() .asString();
  13. 13. Otros interesantes features de REST Assured 1. Puede serializar POJO y XML 2. Se puede integrar con Spring Mock MVC
  14. 14. ¿Preguntas?
  15. 15. ¡Gracias P o r Acompañarnos!
  16. 16. https://github.com/ecabrerar/rest-assured-jconf.git Código fuente de los ejemplos en GitHub
  17. 17. Asuntos Legales Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios y/o representantes. Su utilización es solamente para fines ilustrativos.
  18. 18. Referencias Enlaces: https://github.com/rest-assured/rest-assured/wiki/Usage http://rest-assured.io/ https://www.codacy.com/blog/review-of-java-static-analysis-tools/
  19. 19. @eudriscabrera @eudris @ecabrerar @eudriscabrera Eudris Cabrera Rodríguez Ingeniero Telemático Desarrollador de Software / Consultor Informático eudris@gmail.com https://www.linkedin.com/in/eudriscabrera http://www.slideshare.net/eudris https://twitter.com/eudriscabrera https://github.com/ecabrerar

×