Estoy escribiendo un conjunto de pruebas para las API Rest usando cucumber-java. Estaba tratando de usar @Rule, sin embargo, descubrí que no era compatible con cucumber-jvm. ¿Hay alguna opción para escribir una regla sobre la falla del paso?
Necesito imprimir la solicitud-respuesta en caso de falla de aserción (estoy afirmando en el estado de respuesta http), para poder entender qué salió mal.
Cualquier ayuda en esto es muy apreciada.
Cucumber-jvm tiene la anotación @After y podría poner algo allí, pero ¿por qué no simplemente incluir la respuesta en el texto de falla de la declaración de afirmación?
Utilizo rest-assured para gestionar mis solicitudes-respuestas HTTP. Mis respuestas terminan en objetos de la clase Response. Para obtener la respuesta completa, podría codificar esto:
response.getBody().prettyPrint()EDITAR
También especificó la solicitud. Dado que requestSpec es la instancia de la clase RequestSpecification que inicializamos con los valores de solicitud, uso
requestSpec.given().log().all()para obtener la solicitud en forma de cadena.
Así que usando JUnit assertTrue
assertTrue("REST service x Status Code =" + response.getStatusCode() + ", for request = " + requestSpec.given().log().all() + ",\n response = " + response.getBody().prettyPrint(), response.getStatusCode() == 200);