es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En RestAssured, jsonPathEvaluator no está proporcionando los valores correctos para valores dobles.

Tengo una respuesta json como se muestra a continuación:

{
“someField”: [
{
“abc”: “abcdId”
}
],
“someId”: “pqrsId”,
“oneTier”: {
“startThreshold”: 25000,
“endThreshold”: 74999.99
},
“nextTier”: {
“startThreshold”: 75000,
“endThreshold”: 149999.99
}
}

Cuando intento imprimir

response.getBody().asString()

Puedo ver el valor de nextTier.endThreshold como ‘14999.99’
pero cuando hago

response.getBody().jsonPath().get(“nextTier.maxThreshold”).toString();

Estoy viendo el valor como 14999.98 ‘.

No puedo entender por qué está sucediendo esto.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Posible solución:

    Parece que hay un error tipográfico en la declaración de jsonPath, donde dice “maxThreshold” en lugar de “endThreshold”. Por lo tanto, el código está obteniendo en realidad el valor del campo incorrecto, que en este caso está desfasado en un centavo.

    Para solucionar esto, debería cambiar la declaración de jsonPath a:

    response.getBody().jsonPath().get("nextTier.endThreshold").toString();
    

    Esto debería devolver correctamente el valor de 149999.99, que coincide con la respuesta json original.

    Tenga en cuenta que siempre es una buena idea verificar dos veces las declaraciones de jsonPath en comparación con la estructura json real, para asegurarse de que coincidan correctamente.

Comments are closed.