首页 > 解决方案 > 十进制值的 GPath 测试

问题描述

在 Java 中使用 Rest Assured 来测试一些 API。尝试使用 GPath 返回一个值。

为什么这行得通?

int i = response.path("Result.find{it.Amount>293.50 && it.Amount<293.52 && it.CreatedDate=='10/26/2018'}.Id");

但这不是吗?

int i = response.path("Result.find{it.Amount==293.51 && it.CreatedDate=='10/26/2018'}.Id");

GPath 对十进制值有什么奇怪的地方吗?我是 GPath 的新手,并尝试过研究,但找不到任何结论。

标签: groovygpath

解决方案


一位非常聪明的同事为我找到了答案。在这里发布以帮助那些试图弄清楚的人。

为了测试双精度值,它应该是:

int i = response.path("Result.find{it.Amount.toDouble()==293.51 && it.CreatedDate=='10/26/2018'}.Id");

推荐阅读