Este documento presenta sobre pruebas de integración para servicios REST usando Rest Assured. Cubre la configuración de Rest Assured, su sintaxis basada en Given/When/Then, pruebas parametrizadas, validación de datos de respuesta y características como serialización de POJOs y XML. El objetivo es proporcionar una librería de pruebas potente y sostenible para servicios REST.
Pruebas de integración para servicios REST usando Rest Assured - JConf Dominicana 2019
1. Pruebas de integración para
servicios REST usando
Rest Assured
JConf Dominicana 2019
29 Junio 2019,Pontificia Universidad Católica Madre y Maestra (PUCMM), Santiago, R. D.
#JConfDominicana2019
Eudris Cabrera
@eudriscabrera
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. 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
4. 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
6. 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.
8. Parámetros de inicialización (Setup)
@Before
public void setup() {
RestAssured.baseURI = "http://localhost";
RestAssured.port = 8080;
}
9. 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"));
15. 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.