java - 以 Epsilon 形式表示的 Junits 中的实际值
问题描述
在我拥有的一个junit中,我得到以下失败原因
java.lang.AssertionError: expected:<1200000> but was:<1.2E+6>
这本质上是相同的值。当我从邮递员那里打到时,实际的 json 响应是 1200000,而我用来获取 1200000 字段的方法的返回类型是 BigDecimal。
不知道如何实际修复这个 1.2E+6。
解决方案
您很可能尝试将 BigDecimal 与另一种类型进行比较,但比较失败。请检查 javadoc:https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#equals(java.lang.Object)
“当且仅当指定的 Object 是一个 BigDecimal,其值和比例等于这个 BigDecimal 的值时才为真。”
如果 2 个数字不是 BigDecimal,您将得到错误。如果 2 是 Bigdecimal 但比例不同,则应使用 compareTo。
推荐阅读
- r - 根据列值对构面进行排序
- swift - Swift 命令行工具 -> 使用箭头键和空格键选择
- javascript - 如何同时延迟加载多个组件
- office365 - Office 加载项清单文件通过“npm run validate”但在侧加载到 Office Web 时失败
- json - 在 After Effects 中使用 JSON 设置图层或合成的入口点
- html - BS4 减少移动设备上 2-Up 网格卡之间的填充
- c# - .NET C# 上的无服务器数据库
- c# - ViewModel 复杂对象从视图传递到控制器时返回 null
- c# - 如何从 MainWindow 中的 ViewModel 订阅事件?
- javascript - 如何使用 indexOf() 而不是 includes() 返回布尔值?