为什么在JUnit5中不再推荐assertEquals(double,double)?

为什么在JUnit5中不再推荐assertEquals(double,double)?,junit5,Junit5,为什么在JUnit 5中不再推荐使用assertEquals(double,double)?Jupiter有两种方法,一种用于精确比较两个double,另一种用于将它们与给定增量进行比较。如果涉及任何可能带来舍入误差的计算,通常需要后者。然而,有时,您需要确保计算结果准确;这时,“资产质量”(双重,双重)就派上了用场 使用这种方法的危险在于,当增量比较是更好的选择时,人们可能会混淆这两个用例并使用精确比较。JUnit4的设计者认为这种风险非常危险,足以引导用户远离它。朱庇特的开发者做出了不同的判

为什么在JUnit 5中不再推荐使用assertEquals(double,double)?

Jupiter有两种方法,一种用于精确比较两个double,另一种用于将它们与给定增量进行比较。如果涉及任何可能带来舍入误差的计算,通常需要后者。然而,有时,您需要确保计算结果准确;这时,“资产质量”(双重,双重)就派上了用场


使用这种方法的危险在于,当增量比较是更好的选择时,人们可能会混淆这两个用例并使用精确比较。JUnit4的设计者认为这种风险非常危险,足以引导用户远离它。朱庇特的开发者做出了不同的判断

您的问题似乎是这样的(33274030提出的问题是“为什么它被弃用了?”在JUnit5中它不再被弃用了。我的问题是“为什么它不再被弃用?”有趣的是,讨论这一点的GitHub问题没有提到它在JUnit4中被弃用的事实。看到和