JUnit assertEquals(double expected, double actual, double epsilon)

2022-08-31 09:52:11

可能的重复:
JUnit:断言双精度值的等式

显然,已被弃用。assertEquals(double expected, double actual)

考虑到JUnit的广泛使用,JUnit的javadocs令人惊讶地缺乏。你能告诉我如何使用新的吗?assertEquals(double expected, double actual, double epsilon)


答案 1

Epsilon是你的“模糊因子”,因为双打可能并不完全相等。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 +,并且会使断言失败。这是一件好事。


答案 2

推荐