lay*_*man 3 java junit unit-testing
在JUnit中,双精度的assertEquals采用绝对的delta.但是,保证金的百分比值是否比绝对值更合适?当一个人比较两个大值时,由于四舍五入的误差(如果有的话)可能会导致最后一个有效数字而不管指数.在这种情况下,拥有绝对增量并没有帮助,是吗?
这并不困难,我写了一篇,但只是好奇为什么JUnit没有这个功能.我错过了什么吗?
这取决于实际情况.如果你有一个固定的精度,例如两个小数位,你可能想要一个0.5e-2的增量,但如果你有一个未知的精度,你想要有效的数字,你可能需要更复杂的东西像
assertEquals(expected, actual, Math.abs(expected) / 1e3);
Run Code Online (Sandbox Code Playgroud)
相对错误的问题是难以知道它是否应该相对于预期的,实际的或两者的某种组合.
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |