可能性のある複製:
JUnit:double値のassertEquals
assertEquals(double expected, double actual)
は非推奨のようです。
JUnitのjavadocは、その広範な使用を考慮すると、驚くほど不足しています。新しいassertEquals(double expected, double actual, double epsilon)
の使用方法を教えてください。
倍精度は正確に等しくない場合があるため、イプシロンは「ファズ係数」です。イプシロンでは、どれだけ近くにあるかを説明できます。
3.14159を期待していたが、3.14059から3.14259のいずれか(つまり0.001以内)を使用する場合は、次のように記述します。
double myPi = 22.0d / 7.0d; //Don't use this in real life!
assertEquals(3.14159, myPi, 0.001);
(ちなみに、22/7は3.1428+になり、アサーションに失敗します。これは良いことです。)