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 匹配器,听起来更像您习惯的匹配器。
我正在使用 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 匹配器,听起来更像您习惯的匹配器。