java - 如何比较\断言双值放心
问题描述
我正在尝试将 JSON 中的 \assert double 与 java 原始 double 值进行比较。正确的方法是什么?
我用简单而常规的方法来做,使用Matchers.equalTo
方法,见下文
public class A{
private static double someJavaDouble = 12
}
given().
header(.....).
when().
get(url).
then().
statusCode(200)
body("value", Matchers.equalTo(someJavaDouble))
的响应get(url)
是 JSON:
{
"success": true,
"currentValue": 12.0
}
在上面的代码中,我收到此错误:
JSON path currentValue doesn't match.
Expected: <12.0>
Actual: 12.0
ps如果有效
body("value", Matchers.equalTo(12f))
解决方案
RestAssuredFloat
默认解析数字。
基于github issue 1315您可以将其配置为将其解析为 Double:
JsonConfig jsonConfig = JsonConfig.jsonConfig()
.numberReturnType(JsonPathConfig.NumberReturnType.DOUBLE);
RestAssured.config = RestAssured.config()
.jsonConfig(jsonConfig);
推荐阅读
- excel - 仅通过以输入框的形式选择工作表而不在 VBA 中提及它们的名称,将数据从源工作表动态导入目标工作表
- php - 样式文件不包含在 php laravel 中
- power-automate - 在 Power Automate 中,如何转换长格式日期时间字符串?
- excel - 从 Excel 更新 MS Word 页脚表中的页码
- jsp - 如何替换jstl中的字符?
- python - 没有返回任何内容时的 Numpy Docstrings
- python - 在 API 响应中附加服务器名称——Django rest 框架
- wordpress - 来自后端的 wp_handle_upload()
- r - 使用 sink() 错误地打印到 .txt
- r - R包中的非标准遥控器包INLA