@BeforeClass和继承 - 执行顺序
2022-08-31 10:33:04
我有一个抽象基类,我用它作为单元测试的基础(TestNG 5.10)。在此类中,我初始化整个环境以进行测试,设置数据库映射等。这个抽象类有一个带有注释的方法,该方法执行初始化。@BeforeClass
接下来,我使用特定类扩展该类,其中我有方法和方法。这些方法对环境进行特定于类的初始化(例如,将一些记录放入数据库中)。@Test
@BeforeClass
如何强制执行带注释的方法的特定顺序?我需要抽象基类中的那些先于扩展类的那些执行。@BeforeClass
例:
abstract class A {
@BeforeClass
doInitialization() {...}
}
class B extends A {
@BeforeClass
doSpecificInitialization() {...}
@Test
doTests() {...}
}
预期订单:
A.doInitialization
B.doSpecificInitialization
B.doTests
实际订单:
B.doSpecificInitialization // <- crashes, as the base init is missing
(A.doInitialization // <---not executed
B.doTests) // <-/