2 个 JUnit 断言类之间的差异
2022-08-31 05:29:27
JUnit框架包含2个类(显然在不同的包中),每个类上的方法似乎非常相似。谁能解释一下为什么会这样?Assert
JUnit框架包含2个类(显然在不同的包中),每个类上的方法似乎非常相似。谁能解释一下为什么会这样?Assert
旧方法(JUnit 3)是通过扩展来标记测试类。这继承了自身,并且您的测试类获得了以这种方式调用断言方法的能力。junit.framework.TestCase
junit.framework.Assert
从 JUnit 版本 4 开始,该框架用于标记测试。因此,您不再需要扩展 .但这意味着断言方法不可用。但是,您可以对新类进行静态导入。这就是新类中的所有断言方法都是静态方法的原因。因此,您可以通过以下方式导入它:Annotations
TestCase
Assert
import static org.junit.Assert.*;
在此静态导入之后,可以使用此方法,而不带前缀。
在重新设计时,他们还转移到了更好地遵循包命名的正常约定的新包。org.junit
JUnit 3.X:junit.framework.Assert
JUnit 4.X:org.junit.Assert
首选最新版本,尤其是在运行具有注释支持的 JDK5 及更高版本时。