我有一个抽象基类,我用作我的单元测试的基础(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 //
(A.doInitialization //
B.doTests) //