ブーストテストフレームワークを使用してレガシーコードにテストを追加しています。BOOST_CHECK_CLOSEのエラー出力のフォーマット?
一つのそのような試験はexpectedPrice二重局所的に計算され、オブジェクトがテスト中のシステムから取得され
double expectedPrice = /*...local computation*/
BOOST_CHECK_CLOSE(expectedPrice, object->price, ACCURACY_THRESHOLD);
かもしれません。
error in "MyTest": difference{0.21097%} between expectedPrice{4.7300000000000004} and object->price{4.7400000000000002} exceeds 1.0000000000000001e-05%
もちろん、これはすべての小数点を除いて、読みにくいです。私が裸の倍精度を使用していて、他のいくつかの型を使用していないとすれば、テスト出力をより良く/異なってフォーマットする方法はありますか?
@Martin - 間違いなくすべてダブルスです。より大きな閾値はここでどのように役立つでしょうか?彼らは実際に4.73と4.74のミスマッチです - 私はもっと読みやすい出力を探しています... – sdg