我正在使用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%
当然,考虑到所有小数,这有点难以阅读。任何方式让测试输出格式更好/不同,因为我使用裸双打而不是其他类型?
答案 0 :(得分:0)
你可以尝试:
cout<< setprecision(2)
答案 1 :(得分:0)
这是已知问题。用已知的解决方案虽然我仍然希望在某些方面做到,但实施起来有点困难。与此同时,您将无法使用iostream库生成的任何输出。