我正在使用Boost测试框架将测试添加到旧代码中。
一种这样的测试可能是
double expectedPrice = /*...local computation*/
BOOST_CHECK_CLOSE(expectedPrice, object->price, ACCURACY_THRESHOLD);
其中ExpectedPrice是本地计算的double值,并且该对象是从被测系统中检索的。
error in "MyTest": difference{0.21097%} between expectedPrice{4.7300000000000004} and object->price{4.7400000000000002} exceeds 1.0000000000000001e-05%
当然,鉴于所有小数点,这很难读。考虑到我使用的是裸双打而不是其他类型,是否可以更好地/不同地格式化测试输出?
最佳答案
这是已知问题。用已知的解决方案。实现起来有点困难,尽管我仍然希望在某些时候这样做。同时,您对iostream库产生的任何输出都感到困惑。
关于c++ - 格式化BOOST_CHECK_CLOSE的失败输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4348849/