如何放心地比较\断言双值

Dmi*_*dev 6 java rest-assured

我正在尝试将 JSON 中的\assert double 与 java 原始 double 值进行比较。什么是正确的方法呢?

我使用了简单而常规的方法来做到这一点,使用Matchers.equalTo方法,见下文

public class A{
       private static double someJavaDouble = 12
}
Run Code Online (Sandbox Code Playgroud)
given().
        header(.....).
when().
        get(url).
then().
        statusCode(200)
        body("value", Matchers.equalTo(someJavaDouble))
Run Code Online (Sandbox Code Playgroud)

响应get(url)是 JSON:

{
    "success": true,
    "currentValue": 12.0
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我收到此错误:

JSON path currentValue doesn't match.
Expected: <12.0>
  Actual: 12.0
Run Code Online (Sandbox Code Playgroud)

ps它有效,如果

body("value", Matchers.equalTo(12f))
Run Code Online (Sandbox Code Playgroud)

小智 1

由于返回的值JSON Serializer不是Double原始数据类型double
您可以从 Double 获取 double 值Double.doubleValue()或将 double 转换为 Doublenew Double(someJavaDouble)

body("value", Matchers.equalTo(new Double(someJavaDouble)))
Run Code Online (Sandbox Code Playgroud)