私は2つの値を比較する必要があります:1つは文字列で、もう1つは浮動小数点ですので、文字列を浮動小数点に変換してからassertEquals(val1,val2)
を呼び出しますが、これは許可されていません、assertEquals
は引数。
この場合の私にとっての解決策は何ですか?
フロートのアサーションにデルタを提供する必要があります。
Assert.assertEquals(expected, actual, delta)
デルタは、両方の数値がまだ等しいと見なされる、期待値と実際の値の最大差(デルタ)です。
Assert.assertEquals(0.0012f, 0.0014f, 0.0002); // true
Assert.assertEquals(0.0012f, 0.0014f, 0.0001); //false
0.0fのデルタ値も機能するため、昔ながらの「==」比較(注意して使用してください!)
Assert.assertEquals(expected, actual, 0.0f);
の代わりに
Assert.assertEquals(expected, actual); // Deprecated
Assert.assertTrue(expected == actual); // Not JUnit
私はJUnitが「デルタ」について本当に考えていることを保証する方法が好きです。これは本当に些細な場合にのみ0.0fであるべきです。