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