Junit 中 Python 的 assertAlmostEqual() 等效于什么?

What is the equivalent toassertAlmostEqual() from Python in Junit?

我正在使用 Kotlin 编写一个应用程序,将弧度转换为度数,反之亦然。我正在使用 JUnit 对其进行测试并收到此错误。

// The code I ran
assertEquals(60.0, radians.toDegrees())

// The stacktrace
org.opentest4j.AssertionFailedError: 
Expected :60.0
Actual   :59.99999999999999

我对此无能为力,因为程序先除以 PI,然后再乘以 PI。我想知道是否有一种方法可以 运行 进行比较,将其视为成功,因为值足够接近。在 Python 中,您可以使用带有几个参数的 assertAlmostEqual()。使用 JUnit 执行此操作等效于什么。

我正在使用 JDK 11,Java 8,Kotlin 1.3(无论最新版本是什么)

JUnit 4 and JUnit 5中你可以在比较double的时候在方法中指定一个delta,指定你愿意容忍多少方差。

assertEquals(60.0, myValue, 0.005);

还有 Hamcrest IsCloseTo 匹配器,听起来更像您习惯的匹配器。