junit 5代码/配置重用,我应该使用抽象测试类还是扩展?

i34xakig  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(181)

junit 5 docs正在使用AbstractDatabaseTests
但我记得junit 4推荐的方法是使用规则而不是扩展类。

uajslkp6

uajslkp61#

使用AbstractDatabaseTest的示例是为了证明“JUnit Jupiter [除了注册的扩展]还保证类和接口层次结构中的 Package 行为[.]"。
从用户指南:

JUnit Jupiter是用于编写测试的编程模型和扩展模型的组合[...]

扩展是JUnit Jupiter的核心特性,被认为比使用继承更符合习惯。
虽然JUnit Jupiter也支持继承(许多注解都是@Inherited),但扩展机制遵循composition over inheritance的原则。例如,这为您提供了更多的灵活性,因为您可以使用多个扩展,而继承仅限于单个类。

相关问题