JUnit框架包含2个Assert类(显然是在不同的包中),每个类上的方法看起来非常相似。有人能解释一下这是为什么吗?

我引用的类是:junit.framework.Assert和org.junit.Assert。


当前回答

我做了一个粗略的源代码比较,没有严重的变化。在org.junit.Assert中添加了许多注释,并完成了一些重构。唯一的变化是与数组的比较。有一些代码清理,但(恕我直言)没有功能上的变化。

其他回答

在Android Studio中(在IntelliJ中也是如此),你可以全局地从自动导入提议中排除junit.framework。

您可以在IDE或Project之间设置范围。如果你没有使用JUnit 3的项目,你可以安全地使用IDE作用域。

设置位置:

首选项->编辑器->通用->自动导入

我相信他们正在从junit.framework重构到org。维护junit和junit.framework. assert是为了向后兼容。

JUnit 3。X: junit.framework.Assert

JUnit 4。X: org.junit.Assert

最好使用最新的版本,特别是在运行带有注释支持的JDK5或更高版本时。

实际上有一个功能上的改变:如果你使用带有float或double的双参数assertEquals(), org.junit.Assert会报错,而junit.framework.Assert会默默地自动装箱。

我做了一个粗略的源代码比较,没有严重的变化。在org.junit.Assert中添加了许多注释,并完成了一些重构。唯一的变化是与数组的比较。有一些代码清理,但(恕我直言)没有功能上的变化。