junit 5 docs正在使用AbstractDatabaseTests但我记得junit 4推荐的方法是使用规则而不是扩展类。
uajslkp61#
使用AbstractDatabaseTest的示例是为了证明“JUnit Jupiter [除了注册的扩展]还保证类和接口层次结构中的 Package 行为[.]"。从用户指南:
AbstractDatabaseTest
JUnit Jupiter是用于编写测试的编程模型和扩展模型的组合[...]
扩展是JUnit Jupiter的核心特性,被认为比使用继承更符合习惯。虽然JUnit Jupiter也支持继承(许多注解都是@Inherited),但扩展机制遵循composition over inheritance的原则。例如,这为您提供了更多的灵活性,因为您可以使用多个扩展,而继承仅限于单个类。
@Inherited
1条答案
按热度按时间uajslkp61#
使用
AbstractDatabaseTest
的示例是为了证明“JUnit Jupiter [除了注册的扩展]还保证类和接口层次结构中的 Package 行为[.]"。从用户指南:
JUnit Jupiter是用于编写测试的编程模型和扩展模型的组合[...]
扩展是JUnit Jupiter的核心特性,被认为比使用继承更符合习惯。
虽然JUnit Jupiter也支持继承(许多注解都是
@Inherited
),但扩展机制遵循composition over inheritance的原则。例如,这为您提供了更多的灵活性,因为您可以使用多个扩展,而继承仅限于单个类。