【发布时间】:2010-12-03 18:53:58
【问题描述】:
我正在使用 boost 测试框架向遗留代码添加测试。
一个这样的测试可能是
double expectedPrice = /*...local computation*/
BOOST_CHECK_CLOSE(expectedPrice, object->price, ACCURACY_THRESHOLD);
其中 expectedPrice 是本地计算的双精度值,并且对象是从被测系统中检索的。
error in "MyTest": difference{0.21097%} between expectedPrice{4.7300000000000004} and object->price{4.7400000000000002} exceeds 1.0000000000000001e-05%
当然,考虑到所有小数,这有点难以阅读。鉴于我使用的是裸双打而不是其他类型,有什么方法可以更好/不同地格式化测试输出?
【问题讨论】:
-
@Martin - 他们绝对都是双打。更大的阈值对此有何帮助?它们确实不匹配 4.73 和 4.74 - 我只是在寻找更具可读性的输出......
标签: c++ unit-testing boost