每当我创建断言时,Eclipse 都会建议我从这两个包之一导入它。
例如,当我尝试将数组与assertArrayEquals()
Eclipse 进行比较时,建议从其中之一导入它
org.junit.Assert.assertArrayEquals
or
org.junit.jupiter.api.Assertions.assertArrayEquals
Run Code Online (Sandbox Code Playgroud)
两种方法都可以完美工作。这两者之间有什么根本区别吗?
它\xe2\x80\x99比其他任何东西都更具有历史意义。该org.junit包是第一个,混合了 API 和用于运行测试和测试用例的实现类。
对于 JUnit 5 api,这些类被分割在不同的包中,这样当您拥有注释时,它们可以单独包含在您的运行时中,并且测试执行引擎位于不同的包中。
\n为了让事情变得简单,这些类保留了相同的名称,因此您只需更改类路径中包含的包即可。
\n因此,您可以使用其中任何一种,但请尝试一致地使用一个包。
\n另一个观察结果是,将包分开的原因是您可以拥有一个由一些旧 JUnit 库和一些新库组成的项目。因此,您无需一次性重构所有内容即可进行迁移。
\nhttps://junit.org/junit5/docs/current/user-guide/#migration-from-junit4
\nPS 如果您想忽略旧的 JUnit 包,您可以将它们添加到step filtersEclipse 的首选项中,然后 Eclipse 将不会建议该包。