googletestのアサーションマクロは、エラーが発生したときに素敵なメッセージを提供するので、かなり優れています。 "後者に対して与えられた精度より小さいか、または近くにある" したがって、Advanced Guide on githubによれば、浮動小数点がどれくらい近いかについての最大絶対誤差を与えない限り、これは少なくとも可能です。 : GTest浮動小数点以下では、絶対誤差で閉じる
EXPECT_NEAR(val1, val2, abs_error);
は、だから私は、組み合わせがあまりにも、働かなければならないと思った:彼らはどのように動作するか、「指定されたエラーとの緊密な」と言うだけで、右の上
EXPECT_PRED_FORMAT2(::testing::FloatLE, val1, val2);
。ソースコードを見ると、どのようにEXPECT_NEARは、私は再び別の値を受け入れる
EXPECT_PRED_FORMAT3
のような高次のマクロがあることがわかり拡大します。しかし、私はこの組み合わせをまっすぐに働かせることはできませんでした。
質問があります:これはまったく可能ですか?
もちろん、比較をコーディングしてブール値を比較するだけで回避策を実行できます。しかし、これは失敗の場合には素晴らしいgtest出力を欠いています。
単純な順序で、同じ数字に2つの期待値を順番に使用するのはなぜですか? – PiotrNycz
これを行うと、それらのうちの1つが常に偽であり、テストが失敗することが保証されます。これは役に立たなくなります。 Imhoには、一般的にgtestを使って "どちらかと言うか"と言うことはありません。私が間違っていると、私はそれについて学ぶことができてうれしいです:-) – Alex