gpt4 book ai didi

java - Assert 中的方法和 junit 5 中的 Assertions 包有什么区别?

转载 作者:行者123 更新时间:2023-12-02 18:59:09 40 4
gpt4 key购买 nike

每当我创建断言时,Eclipse 都会建议我从这两个包之一导入它。

例如,当我尝试使用 assertArrayEquals() 比较数组时Eclipse 建议从其中之一导入它

org.junit.Assert.assertArrayEquals
or
org.junit.jupiter.api.Assertions.assertArrayEquals

两种方法都可以完美工作。这两者之间有什么根本区别吗?

最佳答案

这比其他任何事情都更具有历史意义。 org.junit 包是第一个,它混合了用于运行测试和测试用例的 API 和实现类。

对于 JUnit 5 api,这些类被分成不同的包,这样当您拥有注释时,它们可以单独包含在您的运行时中,并且测试执行引擎位于不同的包中。

为了让事情变得简单,这些类保留了相同的名称,因此您只需更改类路径中包含的包即可。

因此您可以使用其中任何一种,但请尝试一致地使用一个包。

另一个观察结果是,将包分开的原因是,您可以拥有一个由一些旧 JUnit 库和一些新库组成的项目。因此,您无需一次性重构所有内容即可进行迁移。

https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4

PS,如果您想忽略旧的 JUnit 包,您可以将它们添加到 Eclipse 首选项中的步骤过滤器,然后 Eclipse 就不会建议该包。

关于java - Assert 中的方法和 junit 5 中的 Assertions 包有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65817644/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com