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

问题描述 投票:0回答:1

junit 5 文档正在使用 AbstractDatabaseTests

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

java junit junit5
1个回答
0
投票

使用 AbstractDatabaseTest

example
是为了演示“JUnit Jupiter [除了注册的扩展之外]还保证在类和接口层次结构中包装行为 […]”。

摘自用户指南

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

扩展是 JUnit Jupiter 的核心功能,被认为比使用继承更惯用。

虽然 JUnit Jupiter 也支持继承(很多注释是

@Inherited
),但扩展机制遵循组合优于继承的原则。例如,这为您提供了更大的灵活性,因为您可以使用多个扩展,而继承仅限于单个类。

© www.soinside.com 2019 - 2024. All rights reserved.