其他分享
首页 > 其他分享> > rest-auured断言报错Float与BigDecimal

rest-auured断言报错Float与BigDecimal

作者:互联网

本章讲解使用rest-auured断言出现类型不匹配Float与BigDecimal的解决方法

一般使用金额时都会精确到小数,在excel或者其他文件中自定义的响应信息时,json解析小数会自动设定为Float类型,而接口响应的小数类型是BigDecimal类型,

所以在断言时会出现类型转换异常,以下有几种解决方法:

rest-auured文档官网:https://github.com/rest-assured/rest-assured/wiki/Usage

1、在断言处对Float进行转换成BigDecimal类型在比较

        Float f = 5.02F;
        // 将Float类型转为BigDecimal
        BigDecimal bigDecimal = new BigDecimal(f.toString());
        System.out.println(bigDecimal.getClass());
        System.out.println(bigDecimal);

2、第二种方法rest-auured官网也做了解决方案:需要在give()方法后面加上一个配置:config(RestAssured.config().jsonConfig(jsonConfig().numberReturnType(BIG_DECIMAL)))

 

 

 但是这种方法不推荐使用,因为每一个接口都要加这个,非常的麻烦,rest-assured提供了配置,只需要在@Test注解标注方法执行之前执行这个配置就可以

配置如下:RestAssured.config = RestAssured.config().jsonConfig(jsonConfig().numberReturnType(BIG_INTEGER));

注意:导包别导错了,

import static io.restassured.config.JsonConfig.jsonConfig;
import static io.restassured.path.json.config.JsonPathConfig.NumberReturnType.BIG_INTEGER;

标签:auured,BigDecimal,Float,rest,报错,jsonConfig,config
来源: https://www.cnblogs.com/osmoba/p/15011105.html